c# – “SMTP主机未指定” – 但是是否指定?

栏目: C# · 发布时间: 6年前

内容简介:代码日志版权声明:翻译自:http://stackoverflow.com/questions/21219580/the-smtp-host-was-not-specified-but-it-is-specified

我在这里有些困惑 – 我收到以下错误:

The SMTP host was not specified.

即使我的代码似乎是正确的(从我可以看到).

我可以通过将控制器内的所有细节包括在内,手动执行.

SmtpClient smtpClient = new SmtpClient("smtp.gmail.com");
smtpClient.Port = 587;
... etc

但我不应该这样做,因为我想使用mailSettings中的详细信息(使其可以用于各种不同的控制器).

mailSettings在我的Web.Config文件中:

<system.net>
   <mailSettings>
     <smtp from="example@gmail.com" deliveryMethod="Network" >
       <network host="smtp.gmail.com" defaultCredentials="true" 
                port="587" enableSsl="true" userName="example@gmail.com"
                password="example"/>
     </smtp>
   </mailSettings>
</system.net>

我的控制器动作:

[HttpPost]
 public ActionResult SubmitFeature(FormData formData)
 {
     SmtpClient smtpClient = new SmtpClient();

     MailMessage mail = new MailMessage();
     mail.To.Add(new MailAddress("example@gmail.com"));
     mail.Body = "Test";

     smtpClient.Send(mail);

     return View("Example");
 }

有没有什么我可能会造成这种损失?我没有在Web.Config中的任何其他设置混乱,他们是一样的,当设置一个新的MVC5项目.

在一个干净的MVC项目中,我无法复制您的问题.在 ScottGu blog post here 之后,我可以得到一个gmail发送的电子邮件没有问题(VS 2013,.NET 4.5.1,MVC 5).请注意<system.net>元素是顶级元素,不嵌套在AppSettings或<

system.web&gt ;. 重要 解决方案中有几个web.config文件,确保将mailSettings插入根级别web.config(而不是位于Views文件夹中的) Web.Config中

<configuration>
  <system.net>
    <mailSettings>
      <smtp from="myEmail@gmail.com">
        <network host="smtp.gmail.com" 
                 port="587" 
                 enableSsl="true" 
                 userName="myEmail@gmail.com" 
                 password="SuperSecretPwd" 
                 defaultCredentials="false" /> <!--This must be false on Gmail-->
      </smtp>
    </mailSettings>
  </system.net>
</configuration>

调节器

var smtpClient = new SmtpClient();
var msg = new MailMessage();
msg.To.Add("MyOtherAddress@yahoo.com");
msg.Subject = "Test";
msg.Body = "This is just a test email";
smtpClient.Send(msg);

目前尚不清楚您所包含的额外属性是否会导致问题(以为不应该),例如传递方式.另外,是否有允许SMTP访问的设置,或仅仅是为了IMAP / POP传送?

如果您可以测试并在干净的项目中成功,那么这将指向您的项目中的web.config转换问题或某些其他设置,覆盖您所在的web.config设置.

代码日志版权声明:

翻译自:http://stackoverflow.com/questions/21219580/the-smtp-host-was-not-specified-but-it-is-specified


以上所述就是小编给大家介绍的《c# – “SMTP主机未指定” – 但是是否指定?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

尽在双11:阿里巴巴技术演进与超越

尽在双11:阿里巴巴技术演进与超越

阿里巴巴集团双11技术团队 / 电子工业出版社 / 2017-4 / 79

“双 11”,诞生于杭州,成长于阿里,风行于互联网,成就于新经济,贡献于全世界。 从 2009 年淘宝商城起,双 11 已历经八年。每年的双 11 既是当年的结束,又是走向未来的起点。技术的突破创新,商业模式的更替交互,推动着双 11 迈步向前。 《尽在双11——阿里巴巴技术演进与超越》是迄今唯一由阿里巴巴集团官方出品、全面阐述双 11 八年以来在技术和商业上演进和创新历程的书籍。内容......一起来看看 《尽在双11:阿里巴巴技术演进与超越》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

在线进制转换器
在线进制转换器

各进制数互转换器

html转js在线工具
html转js在线工具

html转js在线工具