大家好,我尝试按照代码发送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上显示图像
答案 0 :(得分:1)
您的电子邮件是引用本地主机映像,请尝试使用在线主机映像,因为该电子邮件可能无法使用该映像。
答案 1 :(得分:1)
您的电子邮件引用的是本地图片:
http://localhost:2727/photo/mukeshwedsjashmin/1/Suresh2.jpg
唯一能够看到该图像的电子邮件接收器就是你自己。没有其他人可以访问您的本地Web服务器,因此无法查看该图像。
您需要引用公众可用的图片。
作为旁注
根据我的经验,从本地邮件服务器发送这样的电子邮件,特别是如果电子邮件包含HTML和图像,几乎肯定会被捕获为垃圾邮件。我更喜欢通过电子邮件递送服务发送电子邮件。我只有Postmark的经验,它有一个很好的.Net库,但我敢打赌还有其他很好的服务。