使用 Mimekit 发送到包含特殊字符的电子邮件地址

Using Mimekit to send to email addresses that contain special characters

我正在尝试通过启用了 SMTPUTF8 扩展名的邮件服务器向包含特殊字符的电子邮件地址 coordinación@test.xxxxx.com 发送电子邮件(通过从 shell 脚本发送示例测试电子邮件来仔细检查相同内容)。

Mailkit 将异常报告为 "The SMTP server doesn't support the SMTPUTF8 extension",我是否应该对电子邮件地址进行不同的编码?

我已经尝试对 MailboxAddress 构造函数使用 UTF-8 编码,但结果是一样的。请找到相同的协议日志。

Connected to smtp://mail5xx.xx.xxxxx.com:25/?starttls=when-available
S: 220 mail5xx.xx.xxxxx.com ESMTP service ready
C: EHLO [192.xxx.xx.xxx]
S: 250-mail5xx.xx.xxxxx.com says hello
S: 250-ENHANCEDSTATUSCODES
S: 250-PIPELINING
S: 250-CHUNKING
S: 250-8BITMIME
S: 250-AUTH CRAM-MD5 PLAIN LOGIN
S: 250-AUTH=CRAM-MD5 PLAIN LOGIN
S: 250-XACK
S: 250-SIZE 0
S: 250-VERP
S: 250 DSN

编辑: 如果我使用 Mailkit 1.1.4(感谢 Jeff 的快速补丁),这对我来说不再是问题,显然一些邮件服务器可以发送 UTF 邮件,即使它们没有启用 SMTPUTF8 扩展,这很奇怪。

根据服务器对 EHLO 命令的响应,它 支持 SMTPUTF8 扩展。

请注意,如果它 支持它,那么它会像这样列在响应中:

C: EHLO [192.xxx.xx.xxx]
S: 250-mail5xx.xx.xxxxx.com says hello
S: 250-ENHANCEDSTATUSCODES
S: 250-PIPELINING
S: 250-CHUNKING
S: 250-8BITMIME
S: 250-AUTH CRAM-MD5 PLAIN LOGIN
S: 250-AUTH=CRAM-MD5 PLAIN LOGIN
S: 250-XACK
S: 250-SIZE 0
S: 250-VERP
S: 250-DSN
S: 250 SMTPUTF8