.Net实现邮件发送

  1.代码如下

        public void SendMail()
        {
            var emailAcount = ConfigurationManager.AppSettings["EmailAcount"];
            var emailPassword = ConfigurationManager.AppSettings["EmailPassword"];
            var content = "测试邮件发送";
            MailMessage message = new MailMessage();
            //设置发件人,发件人需要与设置的邮件发送服务器的邮箱一致
            MailAddress fromAddr = new MailAddress(emailAcount);
            message.From = fromAddr;
            //设置收件人,可添加多个,添加方法与下面的一样
            message.To.Add("收件人邮箱");
            //设置抄送人
            message.CC.Add("抄送人邮箱");
            //设置邮件标题
            message.Subject = "Test";
            //设置邮件内容
            message.Body = content;
            //设置邮件发送服务器,服务器根据你使用的邮箱而不同,可以到相应的 邮箱管理后台查看,下面是QQ的
            SmtpClient client = new SmtpClient("smtp.qq.com", 25);
            //设置发送人的邮箱账号和密码
            client.Credentials = new NetworkCredential(emailAcount, emailPassword);
            //启用ssl,也就是安全发送
            client.EnableSsl = true;
            //发送邮件
            client.Send(message);
        }

2.注意事项

  完成代码后发现总是遇到 操作超时 的问题,后来才发现原来是腾讯邮箱的smtp没有开启,开启方法:

  登录腾讯邮箱Web端,点击设置,进入设置页面,选择账户,

        

  然后往下翻,会看到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务

       

  设置完成之后你才可以在客户端进行登录,也才允许使用代码进行邮件发送,腾讯邮箱的密码需要使用生成的授权码,不然会报:mail from address must be same as authorization user

  

 

posted @ 2017-09-05 16:41  武韬君  阅读(383)  评论(0编辑  收藏  举报