elmah - 不能发送电子邮件例外

时间:2012-03-14 01:52:06

标签: elmah

设立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>

EDIT 为了证明这些设置,我成功地使用gmail从我的应用程序发送了一封电子邮件。使用的设置是相同的,但我仍然无法让elmah发送电子邮件。她是代码片段。

  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);

即使是一些确认都显示正确的确认也很有用。

2 个答案:

答案 0 :(得分:0)

端口为465,协议为SSL。

答案 1 :(得分:0)

您是否考虑过GMail双因素身份验证的任何不良影响?我只是遇到了这个问题,并为我的开发工作创建了一个特定于应用程序的密码。