SmtpException: Der client oder der server wird nur so konfiguriert, für die e-mail-Adressen mit ASCII-local-Teile
Den SmtpClient.Send() Methode ist das werfen dieser Ausnahme, wenn ich versuche, Sie zu senden eine E-Mail an eine Adresse mit einem akzentuierten Zeichen (é):
System.Net.E-Mail.SmtpException: Der client oder der server wird nur so konfiguriert
für e-mail-Adressen mit ASCII-local-Teile: lé[email protected].
System.Net.E-Mail.Mailadresse.GetAddress(Boolean allowUnicode)
System.Net.E-Mail.SmtpClient.ValidateUnicodeRequirement(MailMessage...)
System.Net.E-Mail.SmtpClient.Send(MailMessage message)
Die Formulierung der Nachricht macht mich, was es sein könnte, eine Einstellung, die ich aktivieren kann, um diese Arbeit zu machen, aber ich habe nicht gefunden was auf dieses Thema.
Ich habe versucht mehrere SMTP-Server, einschließlich Gmail. Hier sind die relevanten bits für einen repro:
Code
var msg = new MailMessage();
msg.Subject = "Test";
msg.From = new MailAddress("[email protected]");
msg.To.Add(new MailAddress("lé[email protected]"));
new SmtpClient().Send(msg);
app.config
<system.net>
<mailSettings>
<smtp from="[email protected]">
<network host="smtp.gmail.com" port="587" userName="[email protected]" password="password" enableSsl="true" />
</smtp>
</mailSettings>
</system.net>
Der code ist sehr einfach, ähnlich wie das Beispiel auf der SmtpClient.Send () - Dokumentation, und auch sonst gut funktioniert.
InformationsquelleAutor Xavier Poinas | 2012-11-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
.net unterstützt nur ASCII-Zeichen. Ich glaube nicht, dass es unterstützt erweiterte ASCII-Zeichen (die auch die akzentuierte e in Frage).
http://www.asciitable.com/
Liefen wir in die gleichen Probleme mit Benutzer, die versuchen, zu verwenden die dänischen Zeichen für ein /e.
diese Antwort ist falsch .NET die Unterstützung von nicht-ASCII-Zeichen und werden Ihnen gerne die E-mail senden, solange die SMTP-gateway reagiert mit SMTPUTF8 in Antwort auf EHLO
Können Sie bitte einen link / Dokumentation, um dies zu zeigen?
Sie verwenden müssen, Reflektor oder etwas zu inspizieren, BCL. Blick auf SmtpClient private IsUnicodeSupported Eigenschaft.
Also, was du sagst, dann ist die chance, die E-Mail gesendet wird, ist auf der Grundlage der E-Mail-server, die Sie senden, obwohl, und es ist-Konfiguration. Dies ist in der Regel nicht eine akzeptable Lösung, wenn Sie nicht die Standard Einstellung auf den meisten E-Mail-Server.
InformationsquelleAutor tsells
Wenn die DeliveryFormat Eigenschaft der SmtpClient-Instanz gesetzt ist
SmtpDeliveryFormat.SevenBit
(der Standard), dann müssen Sie sicherstellen, dass Ihr SMTP-gateway antwortet mit SMTPUTF8 beim senden von ELHO .NET, während es versucht die E-Mail senden. SmtpClient verwendet diese Informationen, um herauszufinden, ob die gateway ist in der Lage, zur Unterstützung von UTF8.Wenn die DeliveryFormat ist
SmtpDeliveryFormat.International
, dann werden Sie in der Lage zu senden, unabhängig.Arbeitete für mich, vielen Dank!
Das gleiche gilt für mich, auch wenn die E-Mail-Programm die option " SmtpDeliveryFormat.International, es beschwert sich trotzdem, dass "Der client oder der server wird nur so konfiguriert, für die E-mail-Adressen mit ASCII-local-parts" ... das ist das senden über SMTP-server von Mandrill.
Noch ein Hinweis zu sagen, dass ich auf anderen Installationen von der gleichen Anwendung, Mandrill, der zum senden von e-mail mit kyrillischen Zeichen und hat keine Probleme.
welche version des .NET framework/BCL verwenden Sie? Was bedeutet Reflektor sagen über die code-Pfade, die wir oben erwähnt? Haben sich die Dinge verändert?
InformationsquelleAutor Andrew
Späte Antwort, aber ich löste dies durch die Angabe von encoding wie diese:
In meinem Fall war der server den Fehler verursacht.
InformationsquelleAutor robasta