C# 无法发送带有附件的电子邮件
我的问题是,我正试图利用电子邮件发送任务在我的网站为管理员个人 当他从可用数据中选择电子邮件ID,添加附件并发送电子邮件时,用户从未收到该电子邮件。然而,如果他使用的是简单的邮件,即没有任何附件,用户会收到它 你能帮忙吗 我的编码如下:-C# 无法发送带有附件的电子邮件,c#,email,email-attachments,C#,Email,Email Attachments,我的问题是,我正试图利用电子邮件发送任务在我的网站为管理员个人 当他从可用数据中选择电子邮件ID,添加附件并发送电子邮件时,用户从未收到该电子邮件。然而,如果他使用的是简单的邮件,即没有任何附件,用户会收到它 你能帮忙吗 我的编码如下:- public partial class SahibAdmin_emailNewsletter : System.Web.UI.Page { // ... private void SendNewsletter(string emailId)
public partial class SahibAdmin_emailNewsletter : System.Web.UI.Page
{
// ...
private void SendNewsletter(string emailId)
{
System.Web.Mail.MailMessage message = new System.Web.Mail.MailMessage();
message.To = emailId;
message.From = "info@sahibimports.com";
message.Subject = "Please See: Newsletter from Sahib imports";
message.BodyFormat = System.Web.Mail.MailFormat.Text;
message.Body = txtBody.Text.ToString();
if (msgUpload.HasFile)
{
//string strFileName = msgUpload.FileName;
//msgUpload.PostedFile.SaveAs(Server.MapPath(strFileName));
//System.Web.Mail.MailAttachment attach =
// new System.Web.Mail.MailAttachment(Server.MapPath(strFileName));
//message.Attachments.Add(attach);
message.Attachments.Add(new Attachment(
FileUpload.PostedFile.InputStream, FileUpload.FileName));
}
System.Web.Mail.SmtpMail.Send(message);
Response.Flush();
}
根据您的附件
构造函数正在尝试使用第二个参数设置ContentType,但您正在传入一个文件名,您确定这是正确的吗
您可能应该将该部分更改为:
ContentType contentType = // create suitable type here based on your file format
Attachment attachment = new Attachment(
FileUpload.PostedFile.InputStream,
contentType
);
attachment.ContentDisposition.FileName = FileUpload.FileName;
message.Attachments.Add(attachment);
您正在尝试使用System.Net.Mail.Attachment with System.Web.Mail.MailMessage
这些API彼此不兼容。系统。Web.Mail.MailMessage仅支持系统。Web.Mail.MailAttachment,而不支持系统。Net.Mail.Attachment。可能附件在某个时候被策略阻止了。如果电子邮件反弹,sahiimports.com域是否以任何有意义的方式处理反弹,或者反弹只是掉在地板上?您是否尝试过通过不同的SMTP服务器发送到不同的电子邮件帐户?你查过SMTP日志了吗?是否已检查SMTP服务器上的队列/死信文件夹?运行代码时是否出现异常?