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);

本人测试完全没问题,如有问题可能账号密码错误及有的写错!

posted on 2011-02-16 11:10  lee_38237489  阅读(732)  评论(8编辑  收藏  举报