Sử dụng các lớp SmtpClient
, MailMessage
và MailAddress
, tôi không thể gửi đến địa chỉ email như å[email protected] Tôi gặp lỗi/ngoại lệ như được hiển thị bên dưới:Không thể gửi email đến các địa chỉ có ký tự Scandinavia
Ký tự không hợp lệ được tìm thấy trong tiêu đề thư: 'å'.
--------------------------- Lỗi gửi email --------------- ------------ System.Net.Mail.SmtpException: Máy khách hoặc máy chủ chỉ được cấu hình cho các địa chỉ E-mail với ASCII các bộ phận địa phương: å[email protected]
tại System.Net.Mail.MailAddress.GetUser (Boolean allowUnicode)
tại System.Net.Mail.MailAddress.GetAddress (Boolean allowUnicode)
tại System.Net.Mail.MailAddress.Encode (Int32 charsConsumed, Boolean allowUnicode)
tại System.Net.Mail.MailAddressCollection.Encode (Int32 charsConsumed, Boolean allowUnicode) tại System.Net.Mail.Message.PrepareHeaders (Boolean sendEnvelope, Boolean allowUnicode) tại System.Net.Mail.Message.Send (BaseWriter nhà văn, Boolean sendEnvelope, Boolean allowUnicode) tại System.Net.Mail.SmtpClient.Send (message MailMessage)
Những nhân vật trong chủ đề của tôi/body là tốt, nhưng không phải trong địa chỉ email.
Tôi đã thử đặt SmtpClient.DeliveryMethod = SmtpDeliveryFormat.International
hoặc MailMessage.HeadersEncoding = Encoding.Unicode
(hoặc UTF8
) và dường như không thay đổi bất cứ điều gì. Đây là những địa chỉ email thực sự của những người chúng ta cần giao tiếp với vì vậy đó là một vấn đề.
Tôi đã tìm hiểu mã nguồn .Net nhưng không thực sự nhận được ở bất kỳ đâu. Tôi đã theo dõi một tài sản ServerSupportsEai
và Google cho tôi biết EAI là viết tắt của Địa chỉ email Quốc tế hóa (https://tools.ietf.org/html/rfc5336) nhưng nó không rõ ràng nếu đây là giới hạn trong mã của tôi hoặc nếu máy chủ cụ thể mà tôi đang nói đến không hỗ trợ điều này. .. kể từ khi tôi đang sử dụng một máy chủ thử nghiệm để tránh gửi email cho người Thụy Điển không nghi ngờ!
Ai đó có thể giúp tôi giải quyết vấn đề này không .Net hỗ trợ điều này, nếu vậy điều gì sẽ xảy ra nếu mã khách hàng của tôi làm điều đó?
Tôi nghĩ rằng vấn đề có thể không có trong mã .NET, nhưng trong cấu hình máy chủ email của bạn. Bạn có thể thử sử dụng máy chủ khác không? – Pikoh
(5336 được thay thế bằng 6531/2) Cơ sở này yêu cầu máy chủ SMTP hỗ trợ SMTPUTF8, hãy thử với Gmail, nếu nó hoạt động máy chủ của bạn phát sinh vấn đề. –
Cảm ơn. Sau khi chiến đấu với gmail "ứng dụng của bạn không sử dụng tính năng bảo mật cập nhật và đã bị chặn" Tôi đang thử nghiệm điều này - mặc dù tôi vẫn không thể gửi cho người thực sự một cách lịch sự –