Gmail的示例:
public void SendMailUseGmail(string MailAddress)
{
System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
msg.To.Add(MailAddress);
msg.From = new MailAddress("YourAddress@gmail.com", "李", System.Text.Encoding.UTF8);
msg.Subject = "这是测试邮件";//邮件标题
msg.SubjectEncoding = Encoding.UTF8;//邮件标题编码
msg.Body = ScreenScrapeHtml("http://localhost:8888/MailDemo.aspx" + "?LEAGUENAME=" + Session["LEAGUENAME"] + "&USERID=" + Session["USERID"] + "&PASSWORD=" + Session["PASSWORD"]);//邮件内容
msg.BodyEncoding = Encoding.UTF8;//邮件内容编码
msg.IsBodyHtml = true;//是否是HTML邮件
msg.Priority = MailPriority.High;//邮件优先级
SmtpClient client = new SmtpClient();
client.Credentials = new System.Net.NetworkCredential("YourAddress@gmail.com", "YourPassWord");
//上述写你的GMail邮箱和密码
client.Port = 587;//Gmail使用的端口
client.Host = "smtp.gmail.com";
client.EnableSsl = true;//经过ssl加密
object userState = msg;
try
{
//client.SendAsync(msg, userState);
client.Send(msg);
sendNum++;
}
catch (System.Net.Mail.SmtpException ex)
{
ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>alert(\"邮件发送失败!\");</script>");
}
}
public static string ScreenScrapeHtml(string url)
{
WebRequest objRequest = System.Net.HttpWebRequest.Create(url);
StreamReader sr = new StreamReader(objRequest.GetResponse().GetResponseStream(), Encoding.GetEncoding("GB2312"));
string result = sr.ReadToEnd();
sr.Close();
return result;
}
Exchange示例:
private void button2_Click(object sender, EventArgs e)
{
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010);
service.Credentials = new NetworkCredential("logonName", "logonPwd#", "邮件实例");
service.Url = new Uri(@"https://mail.yoursAddress.com/Exchange.asmx");
EmailMessage message = new EmailMessage(service);
message.Subject = "邮件标题";
message.Body = ScreenScrapeHtml("http://www.baidu.com");
if (bytes.Length != 0)
{
message.Attachments.AddFileAttachment(_fileName, bytes);
}
message.ToRecipients.Add("your@yoursAddress.com");
message.SendAndSaveCopy();
}
private void 上传附件_Click(object sender, EventArgs e)
{
openFileDialog1.Filter = "Text Files|*.txt|All Files|*.*";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
txtPath.Text = openFileDialog1.FileName;
FileStream fs = new FileStream(txtPath.Text, FileMode.Open);
_fileName = this.GetFileName(fs.Name);
bytes = new byte[fs.Length];
//将内容写入文件流
fs.Read(bytes, 0, bytes.Length);
//必须关闭文件流,否则得到的文本什么内容都没有
fs.Close();//必须关闭
fs.Dispose();
}
}
/// <summary>
/// 根据全路径文件名返回文件名,不包含路径信息
/// </summary>
/// <param name="fileFullName">含路径的文件名</param>
/// <returns>文件名</returns>
public string GetFileName(string fileFullName)
{
int iPos = fileFullName.LastIndexOf("\\");
string sName = fileFullName;
if (iPos > -1)
{
sName = fileFullName.Substring(iPos + 1);
}
return sName;
}
public string ScreenScrapeHtml(string url)
{
WebRequest objRequest = System.Net.HttpWebRequest.Create(url);
StreamReader sr = new StreamReader(objRequest.GetResponse().GetResponseStream(), Encoding.GetEncoding("GB2312"));
string result = sr.ReadToEnd();
sr.Close();
return result;
}