以下代码实现了发送借助于一个Gmail帐号发送一封中文无附件邮件。主要用到的就是System.Net.Mail及System.Net中的几个与发送邮件有关的类。
对于要实现的自动发送邮件的况,可以先去注册一个Gmail帐号,然后按照以下代码将指定内容的邮件发出。要注意的是,发送简体中文邮件的话,要设置字符编码,所以要通过System.Text.Encoding.GetEncoding("GB2312")来设置,否则接收方接收的邮件中会出现乱码。
using
System.Text;
using System.Net;
using System.Net.Mail;
.....
... {
......
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
smtp.EnableSsl = true;
smtp.Credentials = new NetworkCredential("abc@gmail.com", "×××××");
System.Net.Mail.MailMessage mail = new MailMessage();
mail.From = new MailAddress("abc@gmail.com", "发信人称谓", Encoding.GetEncoding("GB2312"));
mail.To.Add(new MailAddress("def@yahoo.com", "用户", Encoding.GetEncoding("GB2312")));
mail.SubjectEncoding = Encoding.GetEncoding("GB2312");
mail.BodyEncoding = Encoding.GetEncoding("GB2312");
mail.Priority = MailPriority.High;
mail.IsBodyHtml = false;
mail.Subject = "这里是标题";
mail.Body = " 这里是正文内容";
try
...{
smtp.Send(mail);
}
catch(SmtpException ex)
...{
Console.WriteLine("发送不成功,错误信息:"+ex.ToString());
}
.....
}
using System.Net;
using System.Net.Mail;
.....
... {
......
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
smtp.EnableSsl = true;
smtp.Credentials = new NetworkCredential("abc@gmail.com", "×××××");
System.Net.Mail.MailMessage mail = new MailMessage();
mail.From = new MailAddress("abc@gmail.com", "发信人称谓", Encoding.GetEncoding("GB2312"));
mail.To.Add(new MailAddress("def@yahoo.com", "用户", Encoding.GetEncoding("GB2312")));
mail.SubjectEncoding = Encoding.GetEncoding("GB2312");
mail.BodyEncoding = Encoding.GetEncoding("GB2312");
mail.Priority = MailPriority.High;
mail.IsBodyHtml = false;
mail.Subject = "这里是标题";
mail.Body = " 这里是正文内容";
try
...{
smtp.Send(mail);
}
catch(SmtpException ex)
...{
Console.WriteLine("发送不成功,错误信息:"+ex.ToString());
}
.....
}