を含むメールを送信したいHTML contents with images
。そのため、添付ファイルとしてではなく、本文コンテンツ内で外部画像を送信する方法。
私のイメージはimage
私のプロジェクトのフォルダーの下にあります...
MailMessage
設定できる.net タイプを使用していると仮定すると、通常絶対パスを使用する場合と同じようにタグをIsBodyHtml = true;
記述できます。<img>
www.example.com/images/image.png
清潔にするために、XMLファイルからHTMLを読み取ります。
private MailMessage GetHtmlEmail()
{
MailMessage mail = new MailMessage();
XmlTextReader xReader = new XmlTextReader(Server.MapPath("~/ConfigFiles/Email.xml"));
while (xReader.Read())
{
switch (xReader.Name)
{
case "ToAddress":
mail.To.Add(xReader.ReadElementContentAs(typeof(string), null).ToString());
break;
case "FromAddress":
mail.From = new MailAddress(xReader.ReadElementContentAs(typeof(string), null).ToString());
break;
case "Subject":
mail.Subject = xReader.ReadElementContentAs(typeof(string), null).ToString();
break;
case "EmailBody":
mail.Body = xReader.ReadElementContentAs(typeof(string), null).ToString();
break;
default:
break;
}
}
return mail;
}
そしてXMLファイル...
<?xml version="1.0" encoding="utf-8" ?>
<Email>
<FromAddress>website@domain.co.uk</FromAddress>
<ToAddress>to@domain.co.uk</ToAddress>
<Subject>Contact us enquiry</Subject>
<EmailBody>
<![CDATA[
<html>
<head>
<title>Customer Enquiry</title>
</head>
<div valign="top">
<!-- center -->
<font color="#666666" face="Arial, Helvetica, sans-serif, Verdana" size="2">
<p>You have recieved a new customer enquiry.</p>
<p><strong>Name: </strong>{0}<br />
<strong>Email: </strong>{1}<br />
<strong>Tel: </strong>{2}<br /></p>
<p><strong>Message: </strong>{3}</p>
</font>
</div>
</html>
]]>
</EmailBody>
</Email>
Guid contentId = Guid.NewGuid().ToString();
AlternateView htmlView = AlternateView.CreateAlternateViewFromString(
"This is a image:<br /><img src=\"cid:" + contentId + "\" />",
null, "text/html");
ContentType ct = new ContentType(MediaTypeNames.Image.Jpeg);
LinkedResource embedded = new LinkedResource("c:\\image1.jpg", ct);
embedded.ContentId = contentId;
htmlView.LinkedResources.Add(embedded);
mail.AlternateViews.Add(altView);
SmtpClient client = new SmtpClient();
client.Send(mail);
おそらくこれを行うには、ホスティング サービスに画像を保存し、保存場所へのリンクである src を使用して通常のタグを使用して画像にリンクします。そうすれば、ホスティングがダウンしない限り、いつでもイメージを取得できます。
電子メールの HTML 値が true に設定されていることを確認してください。問題はありません。