2012-08-08 58 views
1

嗨大家我试试下面的代码发送HTML电子邮件与图像一起在HTML 发送HTML电子邮件与图片,但我只能接收文本格式的邮件没有图片如何使用asp.net用c#

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显示图像/ C

+0

另一种选择是将HTML文档附加为附件,并仅使用邮件正文中的文本。 – sventevit 2012-08-08 09:22:55

回答

1

你的电子邮件引用本地主机的形象,尝试一下王氏网上一个作为图像可能无法使用到电子邮件。

+0

如果我的网络应用程序在互联网上,那么它是posilbe发送电子邮件与图像,因为我需要 – Dadu 2012-08-09 03:54:54

+0

@Dadu认为它是这样的:你通过蜗牛邮件给某人发送一封信,告诉他们“这张图片在二楼*这个房子。“他们得到了这封信,但他们并不确切地知道你的意思,他们认为“我的房子甚至没有二楼!”。相反,你应该做的是向他们提供房屋地址(IP地址或注册域名),以便他们知道从哪里获得图像。或者,将图像包含在邮件本身中。 – mason 2014-11-30 18:38:23

1

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

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

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

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

作为一个侧面说明

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