停止SmtpClient将链接(文本)转换为href

问题描述 投票:1回答:1

我们使用System.Net.Mail.SmtpClient发送电子邮件。我们的一些电子邮件包含链接,但我们不希望它们在发送时呈现为可点击。使用以下内容设置SmtpClient和MailMessage:

using var smtp = new SmtpClient(_emailSettings.SmtpHost, _emailSettings.SmtpPort))
{
   var mail = new MailMessage(new MailAddress(sender), new MailAddress(recipient))
   {
       Subject = email.Subject,
       Body = email.Body,
       IsBodyHtml = true
   };
   await smtp.SendMailAsync(mail);
}

示例电子邮件正文可以是:

带链接的示例文本:www.test.no

但是当我们发送电子邮件时,smtp客户端会将链接的原始文本转换为<a href="www.test.no">www.test.no</a>,并且链接将呈现为可点击。从调试解决方案开始,我们确保在smtp.SendMailAsync(mail)函数调用之前,主体只是文本而没有任何锚标签。

我们可以通过在链接中注入“不可见”空格来避免这个问题,因此它不会被识别为可点击链接:

带链接的示例文本:www&#823.test.no

但是,我们想知道是否可以将SmtpClient设置为不首先将链接转换为<a href... >

c# email hyperlink smtpclient
1个回答
0
投票

将IsBodyHtml从true更改为false IsBodyHtml = false;

© www.soinside.com 2019 - 2024. All rights reserved.