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主机未指定” – 但是是否指定?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

计算机程序的构造和解释

计算机程序的构造和解释

Harold Abelson、Gerald Jay Sussman、Julie Sussman / 裘宗燕 / 机械工业出版社 / 2004-2 / 45.00元

《计算机程序的构造和解释(原书第2版)》1984年出版,成型于美国麻省理工学院(MIT)多年使用的一本教材,1996年修订为第2版。在过去的二十多年里,《计算机程序的构造和解释(原书第2版)》对于计算机科学的教育计划产生了深刻的影响。第2版中大部分重要程序设计系统都重新修改并做过测试,包括各种解释器和编译器。作者根据其后十余年的教学实践,还对其他许多细节做了相应的修改。 海报:一起来看看 《计算机程序的构造和解释》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具