C# 发送具有ASP.NET成员资格凭据的电子邮件

C# 发送具有ASP.NET成员资格凭据的电子邮件,c#,asp.net,email,C#,Asp.net,Email,我目前在Web.Config中有使用asp.net中的成员身份发送密码重置电子邮件的凭据 <system.net> <mailSettings> <smtp from="password@*****.com"> <network host="mail.*****.com" password="*****" userName="password@*****.com" enableSs

我目前在Web.Config中有使用asp.net中的成员身份发送密码重置电子邮件的凭据

  <system.net>
    <mailSettings>
      <smtp from="password@*****.com">
        <network host="mail.*****.com" password="*****"
                 userName="password@*****.com" enableSsl="false"/>
      </smtp>

    </mailSettings>

  </system.net>

您需要指定SmtpClient使用webconfig凭据。您可以通过将UseDefaultCredentials属性设置为false来完成此操作,如:

     SmtpClient smtpClient = new SmtpClient();
     smtpClient.UseDefaultCredentials = false;
     MailMessage mailMessage = new MailMessage();

它确实使用默认凭据,因为内部异常为InnerException={“无法解析远程名称:'mail.******.com'”}。但我已经设置为false,仍然存在相同的问题。这很奇怪,这意味着地址/端口/协议问题。通常,您必须指定正在使用的端口(通常为端口25)。使用
smtpClient.Port
属性设置此项。@AlecC I在web.config中一定丢失了什么。我打开ASP.NET配置工具,开始配置SMTP设置,所有内容都已预先填写。我刚刚按下save,它说对web.config进行了更改。现在工作
     SmtpClient smtpClient = new SmtpClient();
     smtpClient.UseDefaultCredentials = false;
     MailMessage mailMessage = new MailMessage();