Tôi đang lưu trữ MailSettings của mình trong web.config, tuy nhiên khi tôi gửi thư, máy chủ SMTP của tôi báo cáo lại rằng tôi cần sử dụng xác thực. Tôi đã có tên người dùng/mật khẩu của tôi trong tập tin cấu hình, nhưng nó vẫn không thành công.Xác thực SMTP với MailSettings của tập tin cấu hình
Nó hoạt động nếu tôi làm như sau, nhưng có vẻ như là một bước bổ sung. Không phải là nó chỉ lấy nó từ tập tin cấu hình và sử dụng xác thực tự động?
System.Configuration.Configuration config = WebConfigurationManager.OpenWebConfiguration(
HttpContext.Current.Request.ApplicationPath);
MailSettingsSectionGroup settings =
(MailSettingsSectionGroup) config.GetSectionGroup("system.net/mailSettings");
SmtpClient client = new SmtpClient();
client.Credentials = new NetworkCredential(
settings.Smtp.Network.UserName, settings.Smtp.Network.Password);
Web.config
<system.net>
<mailSettings>
<smtp from="[email protected]" deliveryMethod="Network">
<network host="mail.xyz.com" defaultCredentials="true"
userName="[email protected]" password="abc123" />
</smtp>
</mailSettings>
</system.net>
System.Net.Mail.SmtpException
Đã vượt quá phân bổ lưu trữ. Phản hồi của máy chủ là: Vui lòng sử dụng xác thực smtp . Xem http://www.myISP.com/support/smtp-authentication.aspx
"Phân bổ lưu trữ vượt quá" chúng tôi bỏ qua nó. Đó là "sử dụng xác thực smtp" có vẻ quan trọng.