发送包含嵌入图像和纯文本的HTML电子邮件,其中包含与C#中的附件相同的图像,可以使用C#的SmtpClient和MailMessage类来实现。以下是一个示例代码:
using System.Net;
using System.Net.Mail;
// 创建电子邮件消息
MailMessage mail = new MailMessage();
mail.From = new MailAddress("sender@example.com");
mail.To.Add("recipient@example.com");
mail.Subject = "带图像和附件的HTML电子邮件";
mail.IsBodyHtml = true;
// 创建HTML内容
string htmlBody = "<html><body><h1>这是一封带图像和附件的HTML电子邮件</h1>";
htmlBody += "<p>这是纯文本内容</p>";
htmlBody += "<img src='cid:image1' alt='图像' />";
htmlBody += "</body></html>";
// 将HTML内容添加到电子邮件
mail.Body = htmlBody;
// 添加嵌入式图像
LinkedResource image = new LinkedResource("image.jpg", MediaTypeNames.Image.Jpeg);
image.ContentId = "image1";
mail.LinkedResources.Add(image);
// 添加附件
Attachment attachment = new Attachment("image.jpg", MediaTypeNames.Image.Jpeg);
mail.Attachments.Add(attachment);
// 发送电子邮件
SmtpClient smtp = new SmtpClient("smtp.example.com", 587);
smtp.Credentials = new NetworkCredential("username", "password");
smtp.EnableSsl = true;
smtp.Send(mail);
在上面的示例代码中,我们首先创建了一个MailMessage对象,并设置了发件人、收件人、主题和内容类型。然后,我们创建了HTML内容,并将其添加到电子邮件正文中。接下来,我们使用LinkedResource类添加了一个嵌入式图像,并将其ContentId设置为"image1"。最后,我们使用Attachment类添加了一个附件,并使用SmtpClient类发送了电子邮件。
需要注意的是,在实际使用中,需要将上述代码中的"sender@example.com"、"recipient@example.com"、"smtp.example.com"、"username"、"password"等参数替换为实际的值。
领取专属 10元无门槛券
手把手带您无忧上云