Email 如何从本地asp.net 4.0 web应用程序发送启用图像的电子邮件
我已经做了一个电子邮件管理系统,可以发送电子邮件和保存为草稿电子邮件。我有一个更大的问题是发送带有图像的电子邮件。我试了很多次,但还没完。我只想将启用图像功能的电子邮件发送到发件人地址 在这里,我将电子邮件正文作为ntext数据类型存储到sql server,然后发送到邮件地址。在这里,我把我的表格屏幕截图的一般想法。如何从ckeditor检索电子邮件正文,以及如何存储它 这是我如何检索电子邮件正文的表单: 这是我如何将电子邮件正文存储到db的linqpad屏幕截图: 现在只需关注标题为“启用图像的电子邮件”的最后一条记录,它有图像的电子邮件正文,现在我只想将此图像检索到电子邮件 我还将finally receiver got电子邮件的最终输出包括在此表格中: 这是gmail的原始邮件视图:Email 如何从本地asp.net 4.0 web应用程序发送启用图像的电子邮件,email,c#-4.0,ckeditor,html-email,asp.net-4.0,Email,C# 4.0,Ckeditor,Html Email,Asp.net 4.0,我已经做了一个电子邮件管理系统,可以发送电子邮件和保存为草稿电子邮件。我有一个更大的问题是发送带有图像的电子邮件。我试了很多次,但还没完。我只想将启用图像功能的电子邮件发送到发件人地址 在这里,我将电子邮件正文作为ntext数据类型存储到sql server,然后发送到邮件地址。在这里,我把我的表格屏幕截图的一般想法。如何从ckeditor检索电子邮件正文,以及如何存储它 这是我如何检索电子邮件正文的表单: 这是我如何将电子邮件正文存储到db的linqpad屏幕截图: 现在只需关注标题为“启
From: shalinbgajjar7008@gmail.com
To:
Date: Tue, 23 Dec 2014 19:30:58 +0530
Subject: Image Enabled Email
<table border="0" cellpadding="1" cellspacing="1" style="width: 700px;">
<tbody>
<tr>
<td>
<img alt="" src="/NewsLetter/images/Winter.jpg" style="width: 500px; height: 375px;" /></td>
<td>
<h3>
<span style="font-family:tahoma,geneva,sans-serif;"><span style="font-size:28px;">This is Image Enabled Mail For Testing </span></span></h3>
</td>
</tr>
</tbody>
</table>
<p>
</p>
在这里,我放置了从web应用程序发送电子邮件的代码:
public static void SendReplyMail(string subject, string Host, string Port, string email, string password, string emails, string ccs, string bccs, string body, List<string> file_names)
{
MailMessage msg = new MailMessage();
System.Net.Mail.SmtpClient client = Util.GetSmtpClient();
msg.IsBodyHtml = true;
client.Host = Host;
System.Net.NetworkCredential basicauthenticationinfo = new System.Net.NetworkCredential(email, password);
client.Port = int.Parse(Port);
client.EnableSsl = true;
client.UseDefaultCredentials = false;
client.Credentials = basicauthenticationinfo;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
msg.From = new MailAddress(email);
if (emails.Contains(","))
{
string[] values1 = emails.Split(',');
for (int i = 0; i < values1.Length; i++)
{
values1[i] = values1[i].Trim();
}
foreach (var item1 in values1)
{
msg.To.Add(new MailAddress(item1.ToString()));
}
}
else
{
msg.To.Add(new MailAddress(emails));
}
if (!string.IsNullOrEmpty(ccs))
{
if (ccs.Contains(","))
{
string[] values2 = ccs.Split(',');
for (int i = 0; i < values2.Length; i++)
{
values2[i] = values2[i].Trim();
}
foreach (var item2 in values2)
{
msg.CC.Add(new MailAddress(item2.ToString()));
}
}
else
{
msg.CC.Add(new MailAddress(ccs));
}
}
if (!string.IsNullOrEmpty(bccs))
{
if (bccs.Contains(","))
{
string[] values3 = bccs.Split(',');
for (int i = 0; i < values3.Length; i++)
{
values3[i] = values3[i].Trim();
}
foreach (var item3 in values3)
{
msg.Bcc.Add(new MailAddress(item3.ToString()));
}
}
else
{
msg.Bcc.Add(new MailAddress(bccs));
}
}
msg.Subject = subject;
msg.Body = body;
using (DataClassesDataContext db = new DataClassesDataContext())
{
for (int i = 0; i < file_names.Count; i++)
{
Attachment mailAttachment = new Attachment(Path.Combine(HttpRuntime.AppDomainAppPath, "EmailFiles/" + db.Files.Where(f => f.File_name.Equals(file_names[i].Substring(0,15))).Select(f => f.File_name + f.File_ext).SingleOrDefault().ToString()));
msg.Attachments.Add(mailAttachment);
}
}
client.Send(msg);
}
public static void SendReplyMail(字符串主题、字符串主机、字符串端口、字符串电子邮件、字符串密码、字符串电子邮件、字符串ccs、字符串密件抄送、字符串正文、列表文件名)
{
MailMessage msg=新的MailMessage();
System.Net.Mail.SmtpClient client=Util.GetSmtpClient();
msg.IsBodyHtml=true;
client.Host=Host;
System.Net.NetworkCredential basicauthenticationinfo=新的System.Net.NetworkCredential(电子邮件、密码);
client.Port=int.Parse(端口);
client.enablesl=true;
client.UseDefaultCredentials=false;
client.Credentials=basicauthenticationinfo;
client.DeliveryMethod=SmtpDeliveryMethod.Network;
msg.From=新邮件地址(电子邮件);
if(emails.Contains(“,”))
{
字符串[]值1=emails.Split(',');
对于(int i=0;if.File\u name.Equals(File\u name[i].子字符串(0,15)))。选择(f=>f.File\u name+f.File\u ext.SingleOrDefault().ToString());
msg.Attachments.Add(邮件附件);
}
}
client.Send(msg);
}
当html主体有图像标记时,是否有人知道如何编写图像二进制文件。
请帮帮我…
这看起来像是做了您想做的事情。有一种方法可以将图像添加到托管网站的图像文件夹中,并将其完整路径附加到html内容中的ckeditor images src。但这是一种非常古老的方法,而且动态发送启用图像的电子邮件非常耗时。我对base64编码很感兴趣,但我如何使用我的代码有人知道。这是否适用于html正文中的多个图像?如果是,你能用asp.net 4.0和c#制作适合我的web应用程序的代码吗?所以你不想知道如果我只想从我的本地web应用程序(非托管)发送此图像嵌入邮件,那么我想修复它,哪种方法适合我的web应用程序。
public static void SendReplyMail(string subject, string Host, string Port, string email, string password, string emails, string ccs, string bccs, string body, List<string> file_names)
{
MailMessage msg = new MailMessage();
System.Net.Mail.SmtpClient client = Util.GetSmtpClient();
msg.IsBodyHtml = true;
client.Host = Host;
System.Net.NetworkCredential basicauthenticationinfo = new System.Net.NetworkCredential(email, password);
client.Port = int.Parse(Port);
client.EnableSsl = true;
client.UseDefaultCredentials = false;
client.Credentials = basicauthenticationinfo;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
msg.From = new MailAddress(email);
if (emails.Contains(","))
{
string[] values1 = emails.Split(',');
for (int i = 0; i < values1.Length; i++)
{
values1[i] = values1[i].Trim();
}
foreach (var item1 in values1)
{
msg.To.Add(new MailAddress(item1.ToString()));
}
}
else
{
msg.To.Add(new MailAddress(emails));
}
if (!string.IsNullOrEmpty(ccs))
{
if (ccs.Contains(","))
{
string[] values2 = ccs.Split(',');
for (int i = 0; i < values2.Length; i++)
{
values2[i] = values2[i].Trim();
}
foreach (var item2 in values2)
{
msg.CC.Add(new MailAddress(item2.ToString()));
}
}
else
{
msg.CC.Add(new MailAddress(ccs));
}
}
if (!string.IsNullOrEmpty(bccs))
{
if (bccs.Contains(","))
{
string[] values3 = bccs.Split(',');
for (int i = 0; i < values3.Length; i++)
{
values3[i] = values3[i].Trim();
}
foreach (var item3 in values3)
{
msg.Bcc.Add(new MailAddress(item3.ToString()));
}
}
else
{
msg.Bcc.Add(new MailAddress(bccs));
}
}
msg.Subject = subject;
msg.Body = body;
using (DataClassesDataContext db = new DataClassesDataContext())
{
for (int i = 0; i < file_names.Count; i++)
{
Attachment mailAttachment = new Attachment(Path.Combine(HttpRuntime.AppDomainAppPath, "EmailFiles/" + db.Files.Where(f => f.File_name.Equals(file_names[i].Substring(0,15))).Select(f => f.File_name + f.File_ext).SingleOrDefault().ToString()));
msg.Attachments.Add(mailAttachment);
}
}
client.Send(msg);
}