我们使用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)
函数调用之前,正文只是文本而没有任何锚标记。
我们可以通过注入&#34;隐形&#34;来解决问题。进入链接的空格,以便它不被识别为可点击链接:
带链接的示例文本:www&amp;#823.test.no
但是,我们想知道是否可以将SmtpClient设置为不首先将链接转换为<a href... >
?
答案 0 :(得分:0)
将IsBodyHtml从true更改为false IsBodyHtml = false;