我发送一封带有 C# 库的电子邮件。电子邮件正文包含 Logo 。当我通过 GMail 的 SMTP 服务器发送这封电子邮件时,图像是可见的。当我使用我们的域名 admin@domaine.net 时,图像不可见。
有人知道这种区别吗?
最佳答案
为了使其正常工作,您需要发送一个 HTML 文档,然后使用 mime 嵌入图像。
自 v2.0 以来,ASP.NET smtp 对象为您完成了大部分脏活。
这是一个来自微软网站的例子。 original location
//Holds message information.
System.Net.Mail.MailMessage mailMessage = new System.Net.Mail.MailMessage();
//Add basic information.
mailMessage.From = new System.Net.Mail.MailAddress(txtFrom.Text.Trim());
mailMessage.To.Add(txtTo.Text.Trim());
mailMessage.Subject = txtSubject.Text.Trim();
//Create two views, one text, one HTML.
System.Net.Mail.AlternateView plainTextView = System.Net.Mail.AlternateView.CreateAlternateViewFromString(txtBody.Text.Trim(), null, "text/plain");
System.Net.Mail.AlternateView htmlView = System.Net.Mail.AlternateView.CreateAlternateViewFromString(txtBody.Text.Trim() + "<image src=cid:HDIImage>", null, "text/html");
//Add image to HTML version
System.Net.Mail.LinkedResource imageResource = new System.Net.Mail.LinkedResource(fileImage.PostedFile.FileName, "image/jpg");
imageResource.ContentId = "HDIImage";
htmlView.LinkedResources.Add(imageResource);
//Add two views to message.
mailMessage.AlternateViews.Add(plainTextView);
mailMessage.AlternateViews.Add(htmlView);
//Send message
System.Net.Mail.SmtpClient smtpClient = new System.Net.Mail.SmtpClient();
smtpClient.Send(mailMessage);
关于c# - 发送嵌入图像的电子邮件 - 图像不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5293078/