如何在ASP.NET WEB API中修改发件人名称为企业名称
解决邮件发件人显示名称为邮箱地址的问题
针对你遇到的发件人显示名称不生效的问题,可按以下步骤排查修复:
检查邮箱服务商设置(以Gmail为例)
Gmail会优先使用你账户设置中的发件人名称,而非代码指定的名称。登录你的Gmail账户,进入「设置」→「账户和导入」→「发送邮件地址」,确保已将「HORA」设置为默认发件名称,或添加对应的别名并完成验证。显式设置Sender字段
部分邮件客户端或服务商优先读取Sender字段而非From,可在代码中额外添加该字段:emaillink.Sender = new MailboxAddress("HORA", "agus.mycareer@gmail.com");确保From字段唯一且正确赋值
你当前用Add方法添加发件人,若之前存在其他发件人条目可能导致冲突,可改为直接赋值From字段:emaillink.From = new MailboxAddress("HORA", "agus.mycareer@gmail.com");
修改后的完整代码示例:
var emaillink = new MimeMessage(); emaillink.From = new MailboxAddress("HORA", "agus.mycareer@gmail.com"); emaillink.Sender = new MailboxAddress("HORA", "agus.mycareer@gmail.com"); emaillink.To.Add(MailboxAddress.Parse(email)); emaillink.Subject = "Email Verification Test " + email; emaillink.Body = new TextPart(TextFormat.Html) { Text = $"https://localhost:7212/api/login{verifyurl}。令牌将在2分钟后过期" }; using var smtp = new SmtpClient(); smtp.Connect(_config.GetSection("EmailHost").Value, 587, SecureSocketOptions.StartTls); smtp.Authenticate(_config.GetSection("EmailUsername").Value, _config.GetSection("EmailPassword").Value); smtp.Send(emaillink); smtp.Disconnect(true);
内容的提问来源于stack exchange,提问作者S S
相关产品推荐
相关产品推荐

