C# MVC邮件消息未发送,未引发异常

C# MVC邮件消息未发送,未引发异常,c#,asp.net-mvc,email,asp.net-mvc-5,smtp,C#,Asp.net Mvc,Email,Asp.net Mvc 5,Smtp,我正在本地运行我的站点,测试“联系我们”页面的功能。电子邮件从未在接收端发送,但没有任何期待被抛出。当用户提交表单时,将调用以下端点(我改编了大部分代码): 这是我的第一个网站,也是我第一次实现电子邮件,所以任何帮助都将不胜感激。谢谢 编辑:这可能不用说,但在我这方面,我在web.config的ContactUsEmailAddress、EmailServerUserName和EmailServerPassword字段中写入了真实的凭据,而不是我在这里包含的伪值。关闭SSL smtp.Enabl

我正在本地运行我的站点,测试“联系我们”页面的功能。电子邮件从未在接收端发送,但没有任何期待被抛出。当用户提交表单时,将调用以下端点(我改编了大部分代码):

这是我的第一个网站,也是我第一次实现电子邮件,所以任何帮助都将不胜感激。谢谢

编辑:这可能不用说,但在我这方面,我在web.config的
ContactUsEmailAddress
EmailServerUserName
EmailServerPassword
字段中写入了真实的凭据,而不是我在这里包含的伪值。

关闭SSL

smtp.EnableSsl = false;
您必须仅在域也使用HTTPS时使用SSL。这在本地主机或仅http域上不起作用


参考@MRebati在其回答中分享的文章,我能够通过从我的web.config中的手动
appSettings
键切换到正确的
system.web>mailSettings>smtp
设置来实现这一点

  <system.net>
    <mailSettings>
      <smtp from="you@outlook.com">
        <network host="smtp-mail.outlook.com" 
                 port="587" 
                 userName="you@outlook.com"
                 password="password123" 
                 enableSsl="true" />
      </smtp>    
    </mailSettings>
  </system.net>

关闭SSL没有帮助。它实际上会导致引发适当的异常,
SMTP服务器需要安全连接,或者客户端未经过身份验证。服务器响应为:5.7.0必须首先发出STARTTLS命令
。还有其他想法吗?
smtp.EnableSsl = false;
  <system.net>
    <mailSettings>
      <smtp from="you@outlook.com">
        <network host="smtp-mail.outlook.com" 
                 port="587" 
                 userName="you@outlook.com"
                 password="password123" 
                 enableSsl="true" />
      </smtp>    
    </mailSettings>
  </system.net>