zoukankan      html  css  js  c++  java
  • C#发送腾讯企业邮箱

    腾讯企业邮箱客户端配置介绍

    POP3/SMTP协议
    POP3/SMTP协议:
    接收邮件服务器:pop.exmail.qq.com (端口 110),使用SSL,端口号995
    发送邮件服务器:smtp.exmail.qq.com (端口 25),使用SSL,端口号465或587
    IMAP协议:
    接收邮件服务器:imap.exmail.qq.com (端口 143),使用SSL,端口号993
    发送邮件服务器:smtp.exmail.qq.com (端口 25),使用SSL,端口号465或587
    账户名:您的企业邮箱账户名,账户名需要填写完整的邮件地址
    密码:您的企业邮箱密码
    电子邮件地址:您的企业邮箱的完整邮件地址
    海外用户可使用以下服务器
    POP3/SMTP协议
    接收邮件服务器:hwpop.exmail.qq.com ,使用SSL,端口号995
    发送邮件服务器:hwsmtp.exmail.qq.com ,使用SSL,端口号465
     
    IMAP协议
    接收邮件服务器:hwimap.exmail.qq.com ,使用SSL,端口号993
    发送邮件服务器:hwsmtp.exmail.qq.com ,使用SSL,端口号465
    由文档可知,使用SMTP有2种方式
    (1)直接使用25端口
    (2)使用SSL,使用465或587端口

    C#示例

    直接使用25端口

    在本机电脑可以使用
    生产服务器就无法使用(提示timeout)
    经百度得,阿里云服务器默认关闭了25端口,故无法使用。
            /// <summary>
            /// 向用户发送邮件
            /// </summary>
            /// <param name="ReceiveUser">接收人,邮箱地址</param>
            /// <param name="ReceiveName">接收人,显示的名称</param>
            /// <param name="SendUser">发件人,邮箱地址</param>
            /// <param name="DisplayName">发件人,显示的名称</param>
            /// <param name="SendUserName">发件人,邮箱地址</param>
            /// <param name="UserPassword">发件人,邮箱密码</param>
            /// <param name="MailTitle">邮件标题</param>
            /// <param name="MailContent">邮件内容</param>
            private static void SendMail(string ReceiveUser, string ReceiveName, string SendUser, string DisplayName, string SendUserName, string UserPassword, string MailTitle, string MailContent)
            {
                MailAddress toMail = new MailAddress(ReceiveUser, ReceiveName);//接收者邮箱
                MailAddress fromMail = new MailAddress(SendUser, DisplayName);//发送者邮箱
                MailMessage mail = new MailMessage(fromMail, toMail);
                mail.Subject = MailTitle;
                mail.IsBodyHtml = true;//是否支持HTML
                mail.Body = MailContent;
                SmtpClient client = new SmtpClient();
                client.Host = "smtp.exmail.qq.com";//设置发送者邮箱对应的smtpserver
                client.UseDefaultCredentials = false;
                client.Credentials = new NetworkCredential(SendUserName, UserPassword);
                client.DeliveryMethod = SmtpDeliveryMethod.Network;
    
                client.Send(mail);
            }

    使用SSL,使用端口号465或587

    邮件发送端口的介绍

    465端口

    在本机电脑就无法使用(提示timeout)
    生产服务器就无法使用(提示timeout)
    经百度得,不建议使用465端口
    不幸的是,465号端口从未被IETF(因特网工程任务组)认可,这个机构负责开发Internet标准,作为SMTP的正式端口。相反,IANA(互联网数字分配机构)分配给smtps(简单邮件传输协议),现在depracated确保SMTP的方法。

    587端口

    在本机电脑可以使用
    生产服务器可以使用
    最终使用了下面的版本
            /// <summary>
            /// 向用户发送邮件
            /// </summary>
            /// <param name="ReceiveUser">接收人,邮箱地址</param>
            /// <param name="ReceiveName">接收人,显示的名称</param>
            /// <param name="SendUser">发件人,邮箱地址</param>
            /// <param name="DisplayName">发件人,显示的名称</param>
            /// <param name="SendUserName">发件人,邮箱地址</param>
            /// <param name="UserPassword">发件人,邮箱密码</param>
            /// <param name="MailTitle">邮件标题</param>
            /// <param name="MailContent">邮件内容</param>
            private static void SendMail(string ReceiveUser, string ReceiveName, string SendUser, string DisplayName, string SendUserName, string UserPassword, string MailTitle, string MailContent)
            {
                MailAddress toMail = new MailAddress(ReceiveUser, ReceiveName);//接收者邮箱
                MailAddress fromMail = new MailAddress(SendUser, DisplayName);//发送者邮箱
                MailMessage mail = new MailMessage(fromMail, toMail);
                mail.Subject = MailTitle;
                mail.IsBodyHtml = true;//是否支持HTML
                mail.Body = MailContent;
                SmtpClient client = new SmtpClient();
                client.EnableSsl = true;
                client.Host = "smtp.exmail.qq.com";//设置发送者邮箱对应的smtpserver
                client.Port = 587;
                client.UseDefaultCredentials = false;
                client.Credentials = new NetworkCredential(SendUserName, UserPassword);
                client.DeliveryMethod = SmtpDeliveryMethod.Network;
    
                client.Send(mail);
            }

    调用示例

            /// <summary>
            /// 发送邮件
            /// </summary>
            /// <param name="ReceiveUser">接收人,邮箱地址</param>
            /// <param name="ReceiveName">接收人,显示的名称</param>
            /// <param name="Title">邮件标题</param>
            /// <param name="Content">邮件内容</param>
            public static void SendEMail(string ReceiveUser, string ReceiveName, string Title, string Content)
            {
                string SendUser = "liyang@rs.cn";//发送人地址,
                string DisplayName = "李洋";//发送人显示的名称
                string SendUserName = "liyang@rs.cn";//发送人邮箱账号
                string UserPassword = "Liyang1988@103";//发送人邮箱密码
                string MailTitle = Title;
                string MailContent = Content;
    
                SendMail(ReceiveUser, ReceiveName, SendUser, DisplayName, SendUserName, UserPassword, MailTitle, MailContent);
            }

    方法的差异

  • 相关阅读:
    数据库连接代码
    智能家居资源汇总
    android应用设计与实现相关资源汇总
    嵌入式设计应用资料汇总,不定时更新中……
    Zigbee相关资料大全,不断更新中……
    H.264视频编码资料汇总,不断更新……
    星网锐捷笔试
    华为 10第二题 成都 约瑟夫环
    2014华为校园招聘上机测试题目(华科提前批)
    2014年华为校招成渝地区上机试题
  • 原文地址:https://www.cnblogs.com/masonblog/p/13696867.html
Copyright © 2011-2022 走看看