《本文原创,转载请标明作者和出处。》
最近要用c#做个小工具,要用到C#发邮件这个功能,顺便把代码贴上来和大家分享。
方法一: 用.net的net.mail库封装好的方法。
- using
System; - using
System.Collections.Generic; - using
System.Linq; - using
System.Text; - using
System.Net; - using
System.Net.Mail; - using
System.Net.Security; -
- namespace
Mail_TC01 - {
-
class Program -
{ -
static void Main(string[] args) -
{ -
MailMessage myMail = new MailMessage(); -
myMail.From = new MailAddress("huichanglee@163.com"); -
myMail.To.Add(new MailAddress("li_huichang@yeah.net")); -
myMail.Subject = "来自Cheers的问候"; -
myMail.SubjectEncoding = Encoding.UTF8; -
myMail.Body = "Hi 哥们: 发个邮件测试下。"; -
myMail.BodyEncoding = Encoding.UTF8; -
myMail.IsBodyHtml = false; -
myMail.Priority = MailPriority.High; -
myMail.CC.Add(new MailAddress("252827972@qq.com")); -
myMail.Bcc.Add(new MailAddress("huichanglee@126.com")); //smtp client -
SmtpClient sender = new SmtpClient("smtp.163.com"); -
sender.UseDefaultCredentials = false; -
sender.Credentials = new NetworkCredential("huichanglee@163.com", "******"); -
sender.DeliveryMethod = SmtpDeliveryMethod.Network; -
sender.EnableSsl = true; -
try -
{ -
sender.Send(myMail); -
Console.WriteLine("Success"); -
} -
catch (InvalidOperationExceptio n e) -
{ -
Console.WriteLine("Failed.Exception:{0}", e.Message); -
} Console.Write("Press any key to quit..."); -
Console.ReadKey(); -
} -
} - }
备注:
方法二: .net 结合 jmail发邮件
前提条件:
- using
System; - using
System.Collections.Generic; - using
System.Linq; - using
System.Text; - using
jmail; -
- namespace
Jmail_TC01 - {
-
class Program -
{ -
public static bool SendMail(string from, string to, string subject, string body) -
{ -
jmail.Message m = new Message(); -
m.Charset = "gb2312"; -
m.From = from; -
m.Subject = subject; -
m.AddRecipient(to, null, null); -
m.MailServerUserName = "huichanglee@163.com"; //此处为邮箱账户 -
#region password -
m.MailServerPassWord = "******"; //此处为邮箱密码 -
#endregion -
m.ContentType = "text/html"; -
m.Body = body; -
m.Send("smtp.163.com", false); -
return true; -
} -
static void Main(string[] args) -
{ -
if (SendMail("huichanglee@163.com", "huichanglee@126.com", "Hi 帮我在明天把书还了", "Hi,Cheers:明天下午帮我把书还了,谢谢!~")) //调用发邮件方法。 -
{ -
Console.WriteLine("Send mail pass!"); -
} -
else -
{ -
Console.WriteLine("Send mail fail!"); -
} -
Console.ReadKey(); -
} -
} - }
两种方法各有优劣,大家根据实际情况选择吧!呵呵~~