您好,我在发送邮件时遇到了一些问题。
我一直收到错误
SMTP服务器需要安全连接,或者客户端未经过身份验证。服务器响应是:需要SMTP身份验证。
我的Web.config有
<system.net>
<mailSettings>
<smtp from="XXXX@XXXXX.XX">
<network host="mail.XXXXX.XX" port="25" userName="XXXX@XXXXX.XX" password="XXXXXXXX" defaultCredentials="true" />
</smtp>
</mailSettings>
</system.net>
我的代码
MailMessage message = new MailMessage();
message.From = new MailAddress("XXXX@XXXXX.XX");
message.To.Add(new MailAddress(split[0]));
message.Subject = split[1];
message.Body = ContactUsBody(model);
message.IsBodyHtml = true;
SmtpClient client = new SmtpClient();
client.Send(message);
它在client.Send(消息)上抛出错误,我认为由于某种原因它不使用配置中的密码和用户名。 我已经尝试通过thunderbird登录电子邮件帐户,并且在那里发送或接收邮件没有问题。 我在这做错了什么?
答案 0 :(得分:4)
它不使用您提供的凭据,因为您已将其设置为使用默认凭据。
试试这个:
<system.net>
<mailSettings>
<smtp from="XXXX@XXXXX.XX" deliveryMethod="network">
<network host="mail.XXXXX.XX" port="25" userName="XXXX@XXXXX.XX" password="XXXXXXXX" defaultCredentials="false" />
</smtp>
</mailSettings>
</system.net>