【问题标题】:Send mail to outlook account ASP.Net C#向 Outlook 帐户发送邮件 ASP.Net C#
【发布时间】:2016-09-27 02:05:17
【问题描述】:

到目前为止,这是我尝试过的,我想向我们学校的电子邮件帐户发送一封电子邮件,格式为 jcvborlagdan@mymail.mapua.edu.ph 或类似 jcborlagdan @mapua.edu.ph。我确定这是一个 Outlook 帐户,所以我为 Outlook 设置了 smtp 设置,但是当我这样做时,我一直遇到以下错误:

发送邮件失败。

我在这里做错了什么?我已经在搜索错误,但除了 smtp 设置之外,所有答案都显示与我相同的语法。所以我的 Outlook 的 smtp 设置一定有问题。

SmtpClient smtpClient = new SmtpClient("smtp-mail.outlook.com", 25); //587
smtpClient.Credentials = new System.Net.NetworkCredential("mymail@mapua.edu.ph", "myPassword");
smtpClient.UseDefaultCredentials = true;
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.EnableSsl = true;

MailMessage mail = new MailMessage();


mail.From = new MailAddress("mymail@mapua.edu.ph", "CTMIS-no-reply");
mail.To.Add(new MailAddress("carlo.borlagdan@the-v.net"));
mail.CC.Add(new MailAddress("jcborlagdan@ymail.com"));
smtpClient.Send(mail);

【问题讨论】:

    标签: c# asp.net email outlook smtp


    【解决方案1】:

    需要进行一些小的更改才能使您的代码正常工作。

    1. UseDefaultCredentials 需要设置为 False,因为您要使用自定义凭据
    2. UseDefaultCredentials 需要设置为 False设置凭据之前。
    3. Outlook 的 SSL 端口为 587。

    仅此而已。

    这里是固定的代码。

    SmtpClient smtpClient = new SmtpClient("smtp-mail.outlook.com", 587); //587
    smtpClient.UseDefaultCredentials = false;
    smtpClient.Credentials = new System.Net.NetworkCredential("mymail@mapua.edu.ph", "myPassword");
    
    smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
    smtpClient.EnableSsl = true;
    
    MailMessage mail = new MailMessage();
    mail.From = new MailAddress("mymail@mapua.edu.ph", "CTMIS-no-reply");
    mail.To.Add(new MailAddress("carlo.borlagdan@the-v.net"));
    mail.CC.Add(new MailAddress("jcborlagdan@ymail.com"));
    smtpClient.Send(mail);
    

    关于UseDefaultCredentials

    来自MSDN

    某些 SMTP 服务器要求在服务器代表客户端发送电子邮件之前对客户端进行身份验证。 当此 SmtpClient 对象应使用当前登录用户的默认凭据进行身份验证时,将此属性设置为 true

    --

    由于您不想使用 Windows 凭据进行身份验证,因此 属性设置为 False。至于您需要在之前放置它的事实,我没有官方来源,但如果您在将该属性设置为 false 之前设置您的凭据,它根本不起作用。

    【讨论】:

    • 我先试试.. 非常感谢您的快速回复
    • 啊我的问题是服务器端口。它没有直接与港口联系。但非常感谢@Sage先生提供的信息
    猜你喜欢
    • 2011-12-15
    • 1970-01-01
    • 2014-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-25
    • 1970-01-01
    相关资源
    最近更新 更多