MailKit SMTPUTF8错误

时间:2016-02-22 15:18:34

标签: c# smtp mailkit

我一起使用MimeKit和MailKit通过SMTP服务器发送电子邮件。但是,我偶尔会有一台服务器向我发送错误:

The SMTP server does not support the SMTPUTF8 extension

显然,我想阻止这些错误的发生。在MimeKit中是否有办法在SmtpClient,MimeMessage或MimeEntity上禁用SMTPUTF8扩展?

我担心我会问错误的问题,或者在错误的地方寻求解决方案。如果有人可以对可能措辞不当的问题添加说明,请告诉我。

以下是我的发送方式:

using (var client = new SmtpClient())
{
    try
    {
        client.Connect("server", port);
        // I've got reasons to remove this.
        client.AuthenticationMechanisms.Remove("XOAUTH2");
        client.Send(message);
        client.Disconnect(true);
    }
    catch (Exception e)
    {
        // Pokemon Exception handling right here
        // for the sake of showing what I'm doing.
    }
}

1 个答案:

答案 0 :(得分:3)

收件人列表(或发件人)中的一个或多个电子邮件地址具有unicode地址(我并不是说“显示名称”包含unicode字符,我的意思是“x@y.com” “part包含需要SMTP服务器支持SMTPUTF8扩展才能工作的unicode字符。”

例如,您可能尝试发送到日本語@日本語.jp等电子邮件地址。请注意,传统上,只允许基于ASCII的电子邮件地址,不支持SMTPUTF8扩展名的SMTP服务器无法处理非ASCII的电子邮件地址。