如何使用带有c#的asp.net发送带有Image的HTML电子邮件

时间:2012-08-08 08:29:29

标签: c# asp.net ajax

大家好,我尝试按照代码发送HTML电子邮件和HTML中的图像 但我只能收到文字格式的邮件而不是图片

public void HTML_mail(string mailTo,string mailSub,string mailMessage)
    {
        try
        {
            SmtpClient client = new SmtpClient();
            client.DeliveryMethod = SmtpDeliveryMethod.Network;
            client.EnableSsl = true;

            //client.Host = "smtp.gmail.com";
            //client.Port = 587;


            //WITH SMTP Server with Authenticaton
            client.Host = mailServer;
            client.Port = Convert.ToInt16(serverPort);

            // setup Smtp authentication
            System.Net.NetworkCredential credentials =
                new System.Net.NetworkCredential(userName, passWord);
            client.UseDefaultCredentials = false;
            client.Credentials = credentials;

            MailMessage msg = new MailMessage();
            msg.From = new MailAddress(userName);
            msg.To.Add(new MailAddress(mailTo));

            msg.Subject = mailSub;
            msg.IsBodyHtml = true;
            msg.Body = string.Format(mailMessage);
            //HTML CODE "<html><head></head><body><p><h3>Dadu</h3></p><img src='http://localhost:2727/photo/mukeshwedsjashmin/1/Suresh2.jpg' height='500px' width='500px' alt='' /></body>"
            try
            {
                client.Send(msg);
                //lblMsg.Text = "Your message has been successfully sent.";
            }
            catch (Exception ex)
            {
                //lblMsg.ForeColor = Color.Red;
                //lblMsg.Text = "Error occured while sending your message." + ex.Message;
            }
        }
        catch(Exception ex)
        {

        }
    }

我只能在邮件中看到“大渡” 我选择在我的Gmail A / C上显示图像

2 个答案:

答案 0 :(得分:1)

您的电子邮件是引用本地主机映像,请尝试使用在线主机映像,因为该电子邮件可能无法使用该映像。

答案 1 :(得分:1)

您的电子邮件引用的是本地图片:

http://localhost:2727/photo/mukeshwedsjashmin/1/Suresh2.jpg 

唯一能够看到该图像的电子邮件接收器就是你自己。没有其他人可以访问您的本地Web服务器,因此无法查看该图像。

您需要引用公众可用的图片。

作为旁注

根据我的经验,从本地邮件服务器发送这样的电子邮件,特别是如果电子邮件包含HTML和图像,几乎肯定会被捕获为垃圾邮件。我更喜欢通过电子邮件递送服务发送电子邮件。我只有Postmark的经验,它有一个很好的.Net库,但我敢打赌还有其他很好的服务。