使用 Outlook 365 发送邮件

Send Mail with Outlook 365

我正在尝试通过 Outlook 365 发送电子邮件。我收到以下错误。 SMTP 错误:[MustIssueStartTlsFirst] 消息:SMTP 服务器需要安全连接或客户端未通过身份验证。

我的代码:

System.Net.NetworkCredential cred = new System.Net.NetworkCredential(mailInfo.FromAddr, mailInfo.Password);
    SmtpClient mailClient = new SmtpClient(mailInfo.Server) {
        Port = mailInfo.Port,
        EnableSsl = true, //mailInfo.SSL,
        DeliveryMethod = SmtpDeliveryMethod.Network,
        UseDefaultCredentials = false,
        Credentials = cred,
        TargetName = "STARTTLS/smtp.office365.com"
    };


MailMessage message = new MailMessage {
    From = new MailAddress(mailInfo.FromAddr, mailInfo.FromName),
    Subject = "Manifest Processor Shipment Report - Manifest: " + shipment.ManifestNumber,
    Body = BuildManifestEmailBody(shipment),
    Priority = MailPriority.High,
    IsBodyHtml = true
};

奇怪的是,我有一个使用相同代码运行的小测试程序。

请参阅 MSDN 中的 Outlook Mail REST API reference。 Outlook 邮件 API 允许您阅读、创建和发送消息和附件,查看和响应事件消息,以及管理 Office 365 或 Exchange Online 用户邮箱中的文件夹。

您可能还会发现 EWS 很有帮助。有关详细信息,请参阅 EWS Managed API, EWS, and web services in Exchange