C# 从服务器端发送带有图像的电子邮件
我在C中有以下代码,使用ScriptManager从ASP.NET页面调用该代码:C# 从服务器端发送带有图像的电子邮件,c#,asp.net,C#,Asp.net,我在C中有以下代码,使用ScriptManager从ASP.NET页面调用该代码: [WebMethod] public static void testEmail(string FileName) { //Asigning a hardcoded value for test FileName="c:\\Users\\myuser\\Pictures\\mypicture.jpg"; MailMessage message
[WebMethod]
public static void testEmail(string FileName)
{
//Asigning a hardcoded value for test
FileName="c:\\Users\\myuser\\Pictures\\mypicture.jpg";
MailMessage message = new MailMessage();
message.From = new MailAddress("originemailaddr@serverx.net");
message.To.Add("detinationmail@servery.net");
message.IsBodyHtml = true;
AlternateView plainView = AlternateView.CreateAlternateViewFromString("This is my plain text content, viewable by those clients that don't support html", null, "text/plain");
AlternateView htmlView = AlternateView.CreateAlternateViewFromString("Here is an embedded image.<img src=cid:companylogo>", null, "text/html");
LinkedResource logo = new LinkedResource(FileName, "image/jpg");
logo.ContentId = "companylogo";
htmlView.LinkedResources.Add(logo);
message.AlternateViews.Add(plainView);
message.AlternateViews.Add(htmlView);
SmtpClient client = new SmtpClient("0.0.0.0", 25);
client.Timeout = 1000;
client.Credentials = CredentialCache.DefaultNetworkCredentials;
client.Send(message);
message.Dispose();
client.Dispose();
}
当我在本地机器上调试时,代码工作正常。一旦发布,返回一个500错误,我认为是由于代码试图在服务器上定位文件,而不是在打开网页的本地计算机上。我有一些时间试图找到信息,但到目前为止运气不好。有什么建议吗?请参阅以查找实际的.NET异常和泛型500错误背后的源。服务器上应该有映像文件。并通过服务器找到它。MapPath@yogi970不存在读取位于客户端的图像文件的方法吗?使用文件上载工具,您可以通过直接硬编码轻松获取文件。本地路径不是一个好主意!