发送带有 ASP.NET 会员凭证的电子邮件

Sending emails with ASP.NET Membership Credentials

我目前在 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>

这对密码重置很有用。

现在,当尝试使用相同的凭据发送自定义电子邮件时,我总是收到错误 "Failure to send mail."

            SmtpClient smtpClient = new SmtpClient();

            MailMessage mailMessage = new MailMessage();

            mailMessage.To.Add(new MailAddress("me@gmail.com"));
            mailMessage.Subject = "mailSubject";
            mailMessage.Body = "mailBody";

            smtpClient.Send(mailMessage);

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

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