如何使它的HTML和添加图像等

本文关键字:添加 图像 HTML 何使它 | 更新日期: 2023-09-27 18:12:17

string to = "email@hotmail.co.uk";
 string body = "Test";
 SmtpClient SMTPServer = new SmtpClient("127.0.0.1");
 MailMessage mailObj = new MailMessage(urEmail, to, subject, body);
 SMTPServer.Send(mailObj);

这就是我目前发送测试电子邮件的方式。我如何使这个html,并能够使发送的电子邮件看起来更好通过添加图像等?

谢谢

如何使它的HTML和添加图像等

MailMessage上设置属性IsBodyHtml为true

string to = "email@hotmail.co.uk";
string body = "Test";
SmtpClient SMTPServer = new SmtpClient("127.0.0.1");
MailMessage mailObj = new MailMessage(urEmail, to, subject, body);
mailObj.IsBodyHtml = true; // This line
SMTPServer.Send(mailObj);

必须设置mailObj .IsBodyHtml = true;

你可以使用下面的想法来获取一个ASPX页面并将其呈现为字符串:

StringWriter writer = new StringWriter();
Server.Execute("Login.aspx", writer);
string html = writer.ToString();

如果你设置了MailMessage。IsBodyHtml为true,你可以发送一个HTML消息。如果你想使用图片和其他东西,确保收件人可以访问这些图片。

有两种方法:

  1. 在邮件中嵌入图片。

  2. 通过HTML邮件中图像标签的src属性链接到图像。这需要你将图像文件托管在一个接收者可以访问的web服务器上。

在这两种情况下,你都需要发送带有html正文的邮件。

mailObj.IsBodyHtml = true;

对于您关于添加图像到您的电子邮件的问题,如果您要求嵌入,那么您可以使用HTML的锚标记或使用mailObj.Attachments.Add()方法将图像文件附加到邮件中,我猜。

但最好的方式是发送图像作为附件,因为一些防火墙只是阻止嵌入图像,但允许附件。因此,这样你在传递内容时更安全,尽管这不是一个完美的方式。