我正在努力让我的SMPT电子邮件在Azure网站上工作。在我的本地安装程序上工作
<mailSettings>
<smtp deliveryMethod="Network">
<network host="relay.myIsp.net" userName="" password="" port="25" />
</smtp>
</mailSettings>我已经把我的ISP的名字改成了"myIsp",除此之外,它是一样的。
我读过几篇关于冲突Azure.config的文章,但我找不到。
我正在使用ActionMailer.Net,这似乎很好,作为我的电子邮件信息制作。
应用程序确实遵循,没有错误。我只是没有收到电子邮件。
提前谢谢。
编辑:
SendGrid Web.config安装程序,因此在Azure网站上端口25或587没有问题:
<system.net>
<mailSettings>
<smtp from="test@domain.com">
<network host="server" password="password" userName="username" port="587" />
</smtp>
</mailSettings>
</system.net>发布于 2014-04-21 18:56:21
据我所知,Azure网站和网络角色不会阻塞端口25或端口587作为SendGrid和其他电子邮件帐户,我已经尝试工作,没有问题使用这些端口。
但是,从您的配置来看,我怀疑缺少用户名和密码可能是原因之一。有一个开放的中继发送电子邮件是一个很大的安全漏洞(想想垃圾邮件网关)。通常,您必须对电子邮件服务器进行身份验证才能发送电子邮件。至于它在家工作,这可能只是因为你通过他们连接到电子邮件服务器(你在你的ISP的调制解调器和IP子网),他们会自动知道这是一个OK连接。
为了排除故障,我建议尝试使用SendGrid或Gmail帐户。如果这是可行的,那么它将指向您的ISP的配置问题。
例如Gmail配置:
<system.net>
<mailSettings>
<smtp deliveryMethod="Network">
<network defaultCredentials="false" enableSsl="true" host="smtp.gmail.com" port="587" userName="xxxxxxx@gmail.com" password="xxxxxxxxxxx"/>
</smtp>
</mailSettings>
</system.net>发布于 2015-01-15 00:31:22
只需将变量包含在web.config的内部,如下所示:
<!-- SendGrid-->
<add key="mailAccount" value="azure_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX@azure.com" />
<add key="mailPassword" value="XXXXXXXXXXXXXXX" />然后,在设置发送电子邮件的凭据时,将其设置为:
var credentials = new NetworkCredential(
ConfigurationManager.AppSettings["mailAccount"],
ConfigurationManager.AppSettings["mailPassword"]
);https://stackoverflow.com/questions/23198923
复制相似问题