【发布时间】:2014-02-07 00:18:43
【问题描述】:
我尝试从本地开发机器发送带有图像的测试电子邮件。图片未作为附件发送。 可能是一个愚蠢的问题,但是在我将其托管在 www 上之前,我有什么办法可以从我在本地机器上运行的网站发送电子邮件用于测试目的。
public static void SendMail(string emailBody, string to, string from, string subject)
{
MailMessage mailMessage = new MailMessage("to@to.com", "from@test.com");
mailMessage.Subject = subject;
mailMessage.Body = emailBody;
mailMessage.IsBodyHtml = true;
//mailMessage.Body += "<br /><br /> <asp:Image ID='Image1' runat='server' ImageUrl='~/images/banner.jpg' />";
string path = System.Web.HttpContext.Current.Server.MapPath(@"~/images/banner.jpg");
AlternateView av1 = AlternateView.CreateAlternateViewFromString("<html><body><br/><img src=cid:companylogo/><br></body></html>" + emailBody, null, MediaTypeNames.Text.Html);LinkedResource logo = new LinkedResource(path);
av1.LinkedResources.Add(logo);
mailMessage.AlternateViews.Add(av1);
string cs = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
using (SqlConnection con = new SqlConnection(cs))
{
SqlCommand sc = new SqlCommand("SELECT EmailAdd FROM Volunteers where Country like 'United K%' and Race like 'Pak%' ", con);
con.Open();
SqlDataReader reader = sc.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
mailMessage.To.Add(reader[0].ToString());
}
}
reader.Close();
}
SmtpClient smtpClient = new SmtpClient();
smtpClient.Send(mailMessage);
}
【问题讨论】:
-
"is there any way i can send email from my website running on my local machine for test purposes"- 是的,绝对是。运行本地 SMTP 侦听器进行测试:smtp4dev.codeplex.com -
你如何区分和不混淆像
cs和sc这样的变量?我会更有意义地命名它们。