我有一个asp.net 4.0网站,可以根据整个网站中的几个不同事件生成电子邮件警报。我在我的App_Code文件夹中的Utility.cs类中使用以下代码。 Subject,body和mailto是传递给方法的参数。来自ASP.NET的SMTP电子邮件
try
{
var mailmessage = new MailMessage();
mailmessage.From("[email protected]");
mailmessage.To.Add(new MailMessage(mailTo));
mailmessage.ReplyTo("[email protected]");
mailmessage.Subject = subject;
mailmessage.Body = body;
mailmessage.IsBodyHtml = true;
var smtpClient = new SmtpClient();
smtpClient.Send(mailmessage);
}
catch (Exception smtpEx)
{// write to windows event log}
而且我的web.config
<system.net>
<mailSettings>
<smtp deliveryMethod="Network" from="[email protected]">
<network host="xxx.xxx.xxx.xxx" port="25" defaultCredentials="true"/>
</smtp>
</mailSettings>
</system.net>
这些邮件永远不会收到。不过有趣的是,当我使用“忘记密码”功能时,我收到了我的电子邮件。该功能是使用PasswordRecovery控件实现的,它的使用方式如下。
<asp:PasswordRecovery ID="xxx" Visible="false" runat="server"></asp:PasswordRecovery>
我不是在所有这让我假设它是用我的我的web.config设置设置任何MailDefinition属性,那么,为什么可以这样控制使用这些设置,但我的C#代码不能。我猜这是我的邮件信息?
欣赏你们可以提供的任何帮助。
谢谢!
如果将DeliveryMethod更改为Pickupdirectory和speficy目录会怎么样?你在那个目录中收到电子邮件吗? – Roger 2010-09-29 18:53:30
查看您的smtp服务器的事件日志 – citronas 2010-09-29 18:57:59