如何从 asp.net c# 中的服务器路径发送带有附件的电子邮件
how to send email with attachment from server path in asp.net c#
我需要在 asp.net 的电子邮件中附加文件。文件上传到 Server.path。但我不知道如何在我的电子邮件中添加这个,请指导我
我的代码
public static void SendEmail_With_Attachment(String ToEmail, String Subj, string Message, string sourcePath)
{
//reading sender email credential from web.config file
HostAdd = ConfigurationManager.AppSettings["Host"].ToString();
FromEmailid = ConfigurationManager.AppSettings["FromMail"].ToString();
Pass = ConfigurationManager.AppSettings["Password"].ToString();
//creating the object of mailmessage
System.Net.Mail.MailMessage mailMessage = new System.Net.Mail.MailMessage();
mailMessage.From = new MailAddress(FromEmailid);
mailMessage.Subject = Subj;
mailMessage.Body = Message;
mailMessage.IsBodyHtml = true;
mailMessage.To.Add(new MailAddress(ToEmail));
FileStream fStream;
DirectoryInfo dir = new DirectoryInfo(sourcePath);
foreach (FileInfo files in dir.GetFiles("*.*"))
{
fStream = File.OpenRead(sourcePath + "\" + files.Name);
mailMessage.Attachments.Add(new System.Net.Mail.Attachment(fStream, files.Name));
fStream.Close();
}
SmtpClient smtp = new SmtpClient();
smtp.Host = HostAdd;
//network and security related credentia
smtp.EnableSsl = true;
NetworkCredential NetworkCred = new NetworkCredential();
NetworkCred.UserName = mailMessage.From.Address;
NetworkCred.Password = Pass;
smtp.UseDefaultCredentials = true;
smtp.Credentials = NetworkCred;
smtp.Port = 587;
smtp.Send(mailMessage);
}
这段代码在没有附件的情况下工作得很好,但在有附件的情况下我得到了这个错误:
发送邮件失败。
您不需要打开 个文件。
foreach (FileInfo file in dir.GetFiles("*.*"))
{
if (file.Exists)
{
mailMessage.Attachments.Add(new Attachment(file.FullName));
}
}
我需要在 asp.net 的电子邮件中附加文件。文件上传到 Server.path。但我不知道如何在我的电子邮件中添加这个,请指导我 我的代码
public static void SendEmail_With_Attachment(String ToEmail, String Subj, string Message, string sourcePath)
{
//reading sender email credential from web.config file
HostAdd = ConfigurationManager.AppSettings["Host"].ToString();
FromEmailid = ConfigurationManager.AppSettings["FromMail"].ToString();
Pass = ConfigurationManager.AppSettings["Password"].ToString();
//creating the object of mailmessage
System.Net.Mail.MailMessage mailMessage = new System.Net.Mail.MailMessage();
mailMessage.From = new MailAddress(FromEmailid);
mailMessage.Subject = Subj;
mailMessage.Body = Message;
mailMessage.IsBodyHtml = true;
mailMessage.To.Add(new MailAddress(ToEmail));
FileStream fStream;
DirectoryInfo dir = new DirectoryInfo(sourcePath);
foreach (FileInfo files in dir.GetFiles("*.*"))
{
fStream = File.OpenRead(sourcePath + "\" + files.Name);
mailMessage.Attachments.Add(new System.Net.Mail.Attachment(fStream, files.Name));
fStream.Close();
}
SmtpClient smtp = new SmtpClient();
smtp.Host = HostAdd;
//network and security related credentia
smtp.EnableSsl = true;
NetworkCredential NetworkCred = new NetworkCredential();
NetworkCred.UserName = mailMessage.From.Address;
NetworkCred.Password = Pass;
smtp.UseDefaultCredentials = true;
smtp.Credentials = NetworkCred;
smtp.Port = 587;
smtp.Send(mailMessage);
}
这段代码在没有附件的情况下工作得很好,但在有附件的情况下我得到了这个错误: 发送邮件失败。
您不需要打开 个文件。
foreach (FileInfo file in dir.GetFiles("*.*"))
{
if (file.Exists)
{
mailMessage.Attachments.Add(new Attachment(file.FullName));
}
}