【发布时间】:2012-03-30 11:51:00
【问题描述】:
设置 elmah 对我来说相对轻松。直到我尝试使用电子邮件工具。我已经阅读了有关该主题的所有先前问题,但无法继续进行。这是我的 web.config 文件中的相关条目。这只是我所做的众多尝试之一,这一次使用 gmail 和 .我做错了什么?
<elmah>
<errorMail
from="myusername@gmail.com"
to="me@myemail.com"
subject="elmah exception"
async="true"
smtpPort="0"
useSsl="true" />
</elmah>
<system.net>
<mailSettings>
<smtp deliveryMethod ="Network">
<network
host="smtp.gmail.com"
port="587"
userName="myusername@gmail.com"
password="..." />
</smtp>
</mailSettings>
</system.net>
<httpModules>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" />
</httpModules>
编辑 只是为了证明设置,我已经成功地使用 gmail 从我的应用程序发送了一封电子邮件。使用的设置是等效的,但我仍然无法让 elmah 发送电子邮件。她的代码是 sn-p。
MailMessage mailObj = new MailMessage();
mailObj.Subject = "gmail test";
mailObj.From = new System.Net.Mail.MailAddress("myusername@gmail.com");
mailObj.To.Add("test@myemail.com.au");
mailObj.Body = "Test Email";
SmtpClient smtpClient = new SmtpClient("smtp.gmail.com");
NetworkCredential basicCredential = new NetworkCredential("myusername@gmail.com", "mypassword");
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = basicCredential;
smtpClient.Port = 587;
smtpClient.EnableSsl = true;
smtpClient.Send(mailObj);
即使确认一切看起来都是正确的也是有用的。
【问题讨论】:
-
您在 /elmah/errorMail 元素中拼错了“smtpPort” - 端口 0 可能在那里不正确。
-
感谢您指出我的阅读障碍,我将编辑原件。不幸的是,即使拼写正确,它仍然无法正常工作。通过设置 smtpPort="0" 它显然使用
部分中指定的端口。我尝试了将端口显式设置为 587 的选项,但它仍然不起作用。
标签: elmah