我试图从我的本地开发机器发送带有图像的测试电子邮件。该图像未作为附件发送。 可能是一个愚蠢的问题,但有没有什么办法可以从我的本地机器上运行的网站发送电子邮件用于测试目的,然后再将其托管在www上。将图像附加到电子邮件
public static void SendMail(string emailBody, string to, string from, string subject)
{
MailMessage mailMessage = new MailMessage("[email protected]", "[email protected]");
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);
}
''有没有什么办法可以在我的本地机器上运行我的网站发送电子邮件用于测试目的?' - 是的,绝对。运行本地SMTP侦听器进行测试:http://smtp4dev.codeplex.com – David
你如何区分并且不会与像'cs'和'sc'这样的变量混淆?我会更有意义地命名它们。 – abatishchev