使用 C# 向带有表情符号字符的 outlook 发送电子邮件
Sending an email to outlook with emoji characters using C#
我在网页上有一个用户输入。
他们能够输入消息并发送。
邮件通过 SMTP 发送给他们,他们将使用的客户端是 outlook。
我遇到的问题是表情符号 [♂️] 的数量各不相同??问号。
当他们粘贴作品中的内容时,还会出现一些有问题的字符,例如特殊引号和长破折号,当人们键入破折号时,通常会在 word 中替换它。
我知道 outlook 支持表情符号,因为我可以使用 Windows + ; 输入它们并发送它们。但是当我通过 SMTP 客户端发送它时,它以某种方式被破坏了。
调试在通过 SMTP 客户端发送之前正确显示表情符号。
有什么想法可以在不删除这些字符的情况下发送吗?我希望人们可以根据需要使用这些表情符号。
感谢@Steve 让我重新考虑显而易见的事情
原来我需要做的就是将消息上的 BodyEncoding
设置为 System.Text.Encoding.UTF8
。
将 IsBodyHtml
属性 设置为 true
是不够的。
不确定如果不将其设置为 UTF8 就无法正常工作的默认设置是什么,但是哦,好吧。
mail.BodyEncoding = System.Text.Encoding.UTF8;
https://docs.microsoft.com/en-us/dotnet/api/system.net.mail.mailmessage.bodyencoding
我在网页上有一个用户输入。 他们能够输入消息并发送。
邮件通过 SMTP 发送给他们,他们将使用的客户端是 outlook。
我遇到的问题是表情符号 [♂️] 的数量各不相同??问号。
当他们粘贴作品中的内容时,还会出现一些有问题的字符,例如特殊引号和长破折号,当人们键入破折号时,通常会在 word 中替换它。
我知道 outlook 支持表情符号,因为我可以使用 Windows + ; 输入它们并发送它们。但是当我通过 SMTP 客户端发送它时,它以某种方式被破坏了。
调试在通过 SMTP 客户端发送之前正确显示表情符号。
有什么想法可以在不删除这些字符的情况下发送吗?我希望人们可以根据需要使用这些表情符号。
感谢@Steve 让我重新考虑显而易见的事情
原来我需要做的就是将消息上的 BodyEncoding
设置为 System.Text.Encoding.UTF8
。
将 IsBodyHtml
属性 设置为 true
是不够的。
不确定如果不将其设置为 UTF8 就无法正常工作的默认设置是什么,但是哦,好吧。
mail.BodyEncoding = System.Text.Encoding.UTF8;
https://docs.microsoft.com/en-us/dotnet/api/system.net.mail.mailmessage.bodyencoding