SmtpClient smtp = new SmtpClient();//实例化一个SmtpClient
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;//将smtp的出站方式设为Network
smtp.EnableSsl = false;//smtp服务器是否启用SSL加密
smtp.Host ="smtp.163.com";//指定 smtp 服务器地址smtp.163.com
smtp.Port = 25;//指定 smtp 服务器的端口,默认是25,如果采用默认端口,可省去
//如果你的SMTP服务器不需要身份认证,则使用下面的方式,不过,目前基本没有不需要认证的了
smtp.UseDefaultCredentials =true;//如果需要认证,则用下面的方式
smtp.Credentials = new NetworkCredential("你的邮箱账号","你的邮箱密码");//登录邮件
MailMessage mm = new MailMessage();//实例化一个邮件类
mm.Priority = MailPriority.Normal;//邮件的优先级,分为 Low, Normal, High,通常用 Normal即可
//收件方看到的邮件来源;
//第一个参数是发信人邮件地址
//第二参数是发信人显示的名称
//第三个参数是 第二个参数所使用的编码,如果指定不正确,则对方收到后显示乱码
//936是简体中文的codepage值
mm.From = new MailAddress("邮箱账号", "昵称、名称", Encoding.GetEncoding(936));
//ReplyTo 表示对方回复邮件时默认的接收地址,即:你用一个邮箱发信,但却用另一个来收信
//上面后两个参数的意义, 同 From 的意义
mm.ReplyTo = new MailAddress("邮箱账号","昵称、名称", Encoding.GetEncoding(936));
// 收件人地址,可以多个,例如:(a@qq.com,b@qq.com),多个以逗号分开
mm.To.Add("a@163.com,b@163.com,c@163.com");
mm.Subject = "测试";//标题
mm.IsBodyHtml = true;//是否以html格式发送
mm.BodyEncoding = Encoding.GetEncoding(936);//正文的编码,防止乱码
mm.Body = "测试";//邮件的内容,即:正文
//附件
//mm.Attachments.Add(new Attachment(@"D:\a.doc", System.Net.Mime.MediaTypeNames.Application.Rtf));
//多个附件
//mm.Attachments.Add(new Attachment(@"D:\c.doc"));
//发送邮件
smtp.Send(mm);
本人测试完全没问题,如有问题可能账号密码错误及有的写错!