加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

如何从本地asp.net 4.0 Web应用程序发送支持图像的电子邮件

发布时间:2020-12-16 09:54:45 所属栏目:asp.Net 来源:网络整理
导读:我制作了一个电子邮件管理系统,可以发送电子邮件并将电子邮件保存为草稿我有一个更大的问题,发送带图像的电子邮件.我尝试了很多时间,但我没有完成它.我只想将图像启用电子邮件发送到发件人地址. 在这里我将我的电子邮件正文作为ntext数据类型存储到sql serve
我制作了一个电子邮件管理系统,可以发送电子邮件并将电子邮件保存为草稿我有一个更大的问题,发送带图像的电子邮件.我尝试了很多时间,但我没有完成它.我只想将图像启用电子邮件发送到发件人地址.

在这里我将我的电子邮件正文作为ntext数据类型存储到sql server,之后我只发送到邮件地址.在这里,我把我的表格屏幕截图一般的想法.我如何从ckeditor和linqpad检索电子邮件正文如何存储它.

这是我如何检索电子邮件正文的形式:

这是linqpad屏幕截图我如何将电子邮件正文存储到db:

现在只关注标题为“图像启用电子邮件”的最后一条记录它现在有图像的电子邮件正文我只想要这个图像来检索电子邮件.

我还包括最终收件人的最终输出收到电子邮件到这个表格:

这是来自gmail的原始邮件视图:

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>

我只是希望我在电子邮件正文中设置的图像应该对接收者的电子邮件地址可见.

-------------------- Upadted ------------------------

在这里我将我的代码放在从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);
    }

有些人知道如何在html体有图像标签时写图像二进制写.
请帮我…

解决方法

https://www.emailarchitect.net/easendmail/kb/vbnet.aspx?cat=8

看起来它就像你想做的那样.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读