美好的一天,
我有一个发送电子邮件的MVC应用程序,本地一切正常,但是当使用IIS8将代码部署到Windows Server 2012时,它会抛出错误。我已经看到了相关帖子的一些答案,但它似乎并不适合我。我试过的是这个.UseDefaultCredentials = true;正如许多人所建议但对我不起作用。请参阅下面的代码。
public class EMMEmailService : SmtpClient
{
public string UserName { get; set; }
public EMMEmailService() :
base(ConfigurationManager.AppSettings["EmmEmailHost"], Int32.Parse(ConfigurationManager.AppSettings["EMMPort"]))
{
//Get values from web.config file:
this.UserName = ConfigurationManager.AppSettings["EMMUserName"];
this.EnableSsl = false;//Boolean.Parse(ConfigurationManager.AppSettings["EMMSsl"]);
//this.UseDefaultCredentials = false;
this.Credentials = new System.Net.NetworkCredential(ConfigurationManager.AppSettings["EMMUserName"], ConfigurationManager.AppSettings["EMMPassword"]);
}
}
这是配置文件
<!--Smptp Server (confirmations emails)-->
<add key="EMMUserName" value="business@xxxxxx"/>
<add key="EMMPassword" value="xxxxxxxxx"/>
<add key="EmmEmailHost" value="x.x.x.x"/>
<add key="EMMPort" value="25"/>
<add key="EMMSsl" value="true"/>
请耐心等待,因为我遇到了这个错误。