zoukankan      html  css  js  c++  java
  • STMP发送邮件(C#)

    记录一下使用SMTP协议发送邮件

    public void Mail()
    {
        try
        {
            System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient();
            client.Host = "smtp.163.com"; //使用163的SMTP服务器发送邮件
            client.UseDefaultCredentials = true;
            client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
            client.Credentials = new System.Net.NetworkCredential("调用发送邮件的邮箱地址", "授权码");
            client.Port = 25;
            
            System.Net.Mail.MailMessage Message = new System.Net.Mail.MailMessage();
            Message.From = new System.Net.Mail.MailAddress("moling_free@163.com");
            Message.To.Add("收件人邮箱");  
            Message.Subject = "标题";
            Message.Body = "正文";
            Message.SubjectEncoding = System.Text.Encoding.UTF8;
            Message.BodyEncoding = System.Text.Encoding.UTF8;
            Message.Priority = System.Net.Mail.MailPriority.High;
            Message.IsBodyHtml = true;
            client.Send(Message);
        }
        catch(Exception ex){ throw ex;}    

    注:

    1、授权码需要去邮箱客户端里的POP3 /SMTP选项里开通即可获取授权码,不需要使用邮箱密码。使用授权码即可通过第三方程序调用其邮箱代为发送邮件。开通方法登陆邮箱即可看到,就不再说明(真不清楚也可自行百度一下)。

    2、如需使用qq邮箱作为发送端,需要修改邮箱服务器为:smtp.qq.com。也需开通授权码的,qq邮箱里有类似的开通方式。

    3、可能会发送失败(450、550错误码等),其主要原因是因为邮件服务器的反垃圾策略拦截了。可以检查标题、正文是否有敏感信息,检查发送频率是否过多,可能你的IP被标记了,可能过段时间就好了(可能几分钟,也可能几个小时,甚至一两天,这个看脸。。。)

    关于详细的错误码可以参考:https://blog.csdn.net/fakine/article/details/72898413

    4、被拦截的话可以在邮箱里设置白名单试试,不过不是都有用,感觉qq163用的别人的邮件服务器就经常有这种问题,如果是公司内部使用的话建议搭建自己的邮件服务器。

  • 相关阅读:
    Binary Tree Zigzag Level Order Traversal
    Binary Tree Level Order Traversal
    Symmetric Tree
    Best Time to Buy and Sell Stock II
    Best Time to Buy and Sell Stock
    Triangle
    Populating Next Right Pointers in Each Node II
    Pascal's Triangle II
    Pascal's Triangle
    Populating Next Right Pointers in Each Node
  • 原文地址:https://www.cnblogs.com/xiaomengshan/p/11138856.html
Copyright © 2011-2022 走看看