Xav*_*nas 14 .net c# smtp smtpclient
当我尝试将电子邮件发送到包含突出字符(é)的地址时,SmtpClient.Send()方法抛出此异常:
System.Net.Mail.SmtpException:仅为具有ASCII本地部分的电子邮件地址配置客户端或服务器:léo.xxx@example.com.
在System.Net.Mail.Mail上的System.Net.Mail.MailAddress.GetAddress(布局allowUnicode)
中的System.Net.Mail.SmtpClient.ValidateUnicodeRequirement(MailMessage ...)(MailMessage ...
)
消息的制定使我可能有一个设置,我可以激活,以使这项工作,虽然我没有找到任何关于这个主题.
我尝试了几种SMTP服务器,包括Gmail.以下是repro的相关位:
码
var msg = new MailMessage();
msg.Subject = "Test";
msg.From = new MailAddress("xxx@gmail.com");
msg.To.Add(new MailAddress("léo.yyy@gmail.com"));
new SmtpClient().Send(msg);
Run Code Online (Sandbox Code Playgroud)
的app.config
<system.net>
<mailSettings>
<smtp from="xxx@gmail.com">
<network host="smtp.gmail.com" port="587" userName="xxx@gmail.com" password="password" enableSsl="true" />
</smtp>
</mailSettings>
</system.net>
Run Code Online (Sandbox Code Playgroud)
And*_*rew 17
如果您的SmtpClient实例的DeliveryFormat属性设置为SmtpDeliveryFormat.SevenBit
(默认值),那么当您尝试发送电子邮件时,您需要确保您的SMTP网关在通过.NET发送ELHO时使用SMTPUTF8进行回复.如果网关能够支持UTF8,SmtpClient使用它来计算.
如果DeliveryFormat是SmtpDeliveryFormat.International
,那么你将能够发送无论如何.
归档时间: |
|
查看次数: |
14595 次 |
最近记录: |