我在网页上有用户输入。 他们能够键入消息并发送。
邮件通过SMTP发送给他们,他们将使用的客户端是Outlook。
我遇到的问题是表情符号[????♂️?]的数量不同?问号。
当粘贴工作中的内容(如特殊引号和em破折号)时,还会遇到许多有问题的字符。当人们键入破折号时,它们通常会替换为单词。
我知道Outlook支持emoji表情,因为我可以使用 Windows + ; 键入表情符号并将其正确发送。但是,当我通过SMTP客户端发送邮件时,这种情况正以某种方式被破坏。
在通过SMTP客户端发送表情符号之前,调试正确显示了表情符号。
有什么想法我需要做些什么才能使它发送而不诉诸于剥离这些字符?我希望人们能够根据需要使用这些表情符号。
答案 0 :(得分:1)
感谢@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