• C# 连接 Exchange 发送邮件


    C#连接Exchange 发送邮件代码如下

    /// <summary>
            /// exchange群发邮件
            /// </summary>
            /// <param name="credentialUserName">exchange用户名 [example: test]</param>
            /// <param name="credentialUserPwd">exchange用户密码</param>
            /// <param name="fromEmail">发送人地址 [example: test@allbring.com]</param>
            /// <param name="recipientEmail">收件人地址</param>
            /// <param name="domainName">邮件域名 [example: mail.allbring.com]</param>
            /// <param name="subjectName">邮件主题</param>
            /// <param name="bodyVal">邮件内容</param>
            /// <param name="isHtml">是否为html</param>
            /// <param name="fileArray">发送上传的路径</param>
            /// <returns></returns>
            /// 开发人员:ZJ
            public static bool SendExchangeEmails(string credentialUserName, string credentialUserPwd, string fromEmail, List<string> recipientEmail, string domainName, string subjectName, string bodyVal, bool isHtml, string[] fileArray)
            {
                try
                {
                    MailMessage message = new MailMessage();
                    MailAddress fromAddress = new MailAddress(fromEmail);
                    foreach (string item in recipientEmail)
                    {
                        message.To.Add(item);
                    }
                    message.From = fromAddress;
                    message.Subject = subjectName;
                    message.Body = bodyVal;
                    message.IsBodyHtml = isHtml;
                    if (fileArray != null)
                    {
                        for (int i = 0; i < fileArray.Length; i++)
                        {
                            //为邮件创建文件附件
                            Attachment attr = new Attachment(fileArray[i], MediaTypeNames.Application.Octet);
                            //添加邮件时间戳信息
                            ContentDisposition conDispositon = attr.ContentDisposition;
                            conDispositon.CreationDate = System.IO.File.GetCreationTime(fileArray[i]);//文件的创建日期
                            conDispositon.ModificationDate = System.IO.File.GetLastWriteTime(fileArray[i]);//文件的修改日期
                            conDispositon.ReadDate = System.IO.File.GetLastAccessTime(fileArray[i]);//文件的读取日期
                            //给邮件添加附件
                            message.Attachments.Add(attr);
                        }
                    }
    
                    SmtpClient smtpClient = new SmtpClient();
                    smtpClient.Timeout = 50000;
                    smtpClient.Host = domainName;
                    smtpClient.Port = 25;
                    smtpClient.UseDefaultCredentials = false;
                    smtpClient.Credentials = new System.Net.NetworkCredential(credentialUserName, credentialUserPwd);
                    smtpClient.EnableSsl = true;
                    smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
                    smtpClient.Send(message);
                    smtpClient.Dispose();
                    return true;
                }
                catch (Exception)
                {
                    return false;
                }
            }
    

    如果exchange服务器只做了证书,在发送邮件的机器上也要安装证书邮件才能发送出去。

    参考地址:https://social.technet.microsoft.com/Forums/en-US/d37c7e8a-6d42-498a-bad4-5eb0ab7e9d40/connecting-to-exchange-server-using-c-to-send-an-email?forum=exchangesvrdevelopment

    http://www.systemnetmail.com/faq/2.4.aspx

  • 相关阅读:
    安卓之视图View的基本属性
    安卓之颜色
    安卓之屏幕显示
    sockfd_to_family函数
    family_to_level函数
    mcast_get_ttl函数
    mcast_get_loop函数
    mcast_set_ttl函数
    mcast_set_loop函数
    20200730 尚硅谷 JVM 16
  • 原文地址:https://www.cnblogs.com/ZJ199012/p/4917815.html
Copyright © 2020-2023  润新知