使用.net实现邮件发送

来源:互联网 发布:日本人怕中国吗 知乎 编辑:程序博客网 时间:2024/06/11 19:52

在现在的web项目中,邮件发送成为了判断用户身份,限制用户重复注册的好方法。再网上寻找了许多源码,也试了挺多,分享一个使用MailMassage类的,导入时需要引用using System.Net.Mail。

        public bool sendMail(string toMail,string body)        {            MailMessage mailObj = new MailMessage();            try            {                mailObj.From = new MailAddress("*******@126.com"); //发送人邮箱地址                mailObj.To.Add(“*******@163.com”);   //收件人邮箱地址                mailObj.Subject = "欢迎注册抗NMDA受体脑炎公益网站";    //主题                mailObj.Body = “body”;    //正文                mailObj.IsBodyHtml = true;                SmtpClient smtp = new SmtpClient();                smtp.Host = "smtp.126.com"; //smtp服务器名称                 smtp.Port = 25;                smtp.UseDefaultCredentials = true;                smtp.Credentials = new NetworkCredential("*********@126.com", "***********");  //发送人的登录名和密码                smtp.Send(mailObj);                return true;            }            catch (Exception e)            {                return false;            }        }

有几个问题可能在发送的时候出现:

1、收件人如果不存在,则会报错,所以用try,catch包围起来。

2、请确保发送邮箱已经开启IMAP/SMTP服务 ,否则会报“smtp服务器要求安全连接或客户端未通过身份验证..”异常信息

3、现在很多邮箱都使用了授权码机制,为了保证邮箱安全登陆第三方平台,所以在发送人的登陆密码一栏大多数应填写授权码,不过不同邮箱有不同情况。

4、一些邮件会被客户邮箱归为垃圾邮件,所以发的时候篇幅尽量长,实在不行可以发送html代码。(mailObj.IsBodyHtml = true;)

0 0
原创粉丝点击