gpt4 book ai didi

c# - 发送邮件时不显示 "Display Name"

转载 作者:太空狗 更新时间:2023-10-29 21:59:21 24 4
gpt4 key购买 nike

我从我的站点(.NET Framework 2.0、IIS 7)发送邮件为

MailAddress from = new MailAddress("from@email.com", "Name Name");
MailAddress to = new MailAddress("to@email.com", "");
MailMessage mm = new MailMessage(from, to);
mm.Subject = subject;
mm.Body = body;
using ( mm )
{
if (attach != null)
mm.Attachments.Add(attach);
mm.IsBodyHtml = true;

SmtpClient smtp = new SmtpClient(mailServer);
if (!string.IsNullOrEmpty(mailPort))
smtp.Port = int.Parse(mailPort);
smtp.Credentials = new System.Net.NetworkCredential(username, pass);
smtp.Send(mm);
}

但是在收到信件时没有显示名称(“姓名名称”),只有电子邮件。

您是否知道可能导致此问题的原因?

我敢肯定,电子邮件客户端不会忽略显示名称!客户端是 Outlook。

申请转让对象时mm到服务器,属性 From{"Name Name" <from@email.com>} .为什么服务器删除名称?

最佳答案

我也遇到过这个问题,但发现 MailAddress 也有第三个编码参数。所以不要使用:

MailAddress from = new MailAddress("from@email.com", "Name Name");

试试这些家伙:

MailAddress from = new MailAddress("from@email.com", "Name Name", Encoding.ASCII);
MailAddress from = new MailAddress("from@email.com", "Name Name", Encoding.UTF8);
MailAddress from = new MailAddress("from@email.com", "Name Name", Encoding.Unicode);

此列表不是限制性的,您还可以使用其他编码选项。我使用 gmail 并在启用 Less Secure Apps 的访问权限后, 它在使用 SmtpClient 后适用于所有这些。

关于c# - 发送邮件时不显示 "Display Name",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6301418/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com