zoukankan      html  css  js  c++  java
  • c# 发送邮箱,企业邮箱测试成功

    今天在项目中需要实现一个发送邮箱的功能,来实现用户邮箱激活功能!!!

    之前采用的是个人的邮箱进行测试,一切都是很顺利的,后来换成了公司的企业邮箱,遇到了一点小问题,问题如下:

    发送邮件失败,原因:命令顺序不正确。 服务器响应为:Error: need EHLO and AUTH first !

     后来通过百度,找到了原因所在:需要先设置 EnableSsl和UseDefaultCredentials,再实例化Credentials

    发送企业邮箱代码如下:

     1         /// <summary>
     2         /// 发送邮箱
     3         /// </summary>
     4         /// <param name="mail">目的邮件地址</param>
     5         /// <param name="Host">激活地址域名</param>
     6         /// <param name="UserID">用户标识ID</param>
     7         /// <param name="ActiCode">随机生成邮箱激活码</param>
     8         public static void SendEmail(string mail, string Host, int? UserID, string ActiCode)
     9         {
    10             //拼接邮箱激活链接
    11             formto = string.Format(formto, Host, UserID, ActiCode);
    12             MailMessage mailMsg = new MailMessage();
    13             mailMsg.From = new MailAddress(name);//源邮件地址 ,发件人
    14             mailMsg.To.Add(new MailAddress(mail));//目的邮件地址。可以有多个收件人.
    15             mailMsg.Subject = "陈列专家邮箱激活验证";//发送邮件的标题 
    16             mailMsg.Body = "请进行邮箱验证,来激活你在陈列专家中用来接收相关信息的邮箱,点击下面的链接激活您的邮箱:<br><a target='_blank' style='color:#0041D3;text-decoration:underline' href='" + formto + "'>请单击激活</a>";//发送邮件的内容 
    17             mailMsg.IsBodyHtml = true;//是否支持HTML
    18             SmtpClient client = new SmtpClient();//smtp.163.com,smtp.qq.com,smtp.exmail.qq.com(qq企业邮箱smtp)发件人使用的邮箱的SMTP服务器。
    19             client.Host = "smtp.exmail.qq.com";//设置发送者邮箱对应的smtpserver
    20             client.EnableSsl = true;
    21             client.UseDefaultCredentials = false;
    22             client.Credentials = new System.Net.NetworkCredential(name, upass);//指定发件人的邮箱的账号与密码.
    23             client.DeliveryMethod = SmtpDeliveryMethod.Network;
    24             try
    25             {
    26                 client.Send(mailMsg);//排队发送邮件.
    27             }
    28             catch (Exception ex)
    29             {
    30                 throw;
    31             }
    32         }    

    调用方法:SendEmail(email, Host, AdminUser.UserID, code);

    测试效果图如下:

     

     记一次工作中遇到的问题!

  • 相关阅读:
    java 请求响应乱码
    基于eclipse的mybatis映射代码自动生成的插件http://blog.csdn.net/fu9958/article/details/7521681
    基于eclipse的mybatis映射代码自动生成的插件
    使用Mybatis Generator自动生成Mybatis相关代码
    MyBatis使用Generator自动生成代码
    selector是在文件夹drawable中进行定义的xml文件。
    新浪微博布局学习——妙用TabHost
    分布的拟合和检验
    python学习之--SyntaxError: Non-ASCII character 'xe5'
    两天学会DirectX 3D之入门
  • 原文地址:https://www.cnblogs.com/liuping666/p/11934512.html
Copyright © 2011-2022 走看看