我刚刚为 MVC 网站编写了一段代码,该网站使用 .NETSmtpClient
通过我们的 Exchange 服务器发送 SMTP 电子邮件。它发送的电子邮件有一个 HTML 正文,其中包含指向网站上托管的图像和文件的链接。
电子邮件在我们的网络内部运行时可以正常发送,但是当它从不在我们域中的托管服务器上运行时,电子邮件会通过,但正文是空白的。有人知道为什么吗?是因为链接的图像或文件可能是潜在威胁并且来自不在域上的服务器,因此不受信任?
这是发送电子邮件的代码,它使用MailDefinition
该类将指向文件的链接插入到他们要求下载的正文中:
MailDefinition md = new MailDefinition();
md.From = "test@testing.com";
md.Subject = "Test Email";
md.IsBodyHtml = true;
ListDictionary replacements = new ListDictionary();
replacements.Add("REQUESTED_LINK", @"C:\MyFile.pdf");
MailMessage email = md.CreateMailMessage(mailTo, replacements, content, new System.Web.UI.Control());
SmtpClient emailClient = new SmtpClient();
emailClient.Host = "MyExchangeServer";
emailClient.Send(email);