我的问题是,我正在尝试在我的网站上为管理员个人使用电子邮件发送任务。
当他从可用数据中选择电子邮件ID时,添加附件并发送电子邮件,用户从未收到过该电子邮件。但是,如果他使用简单的邮件,即。没有任何附件,用户会收到它。
你能帮帮忙吗?
我的编码如下: -
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();
}
答案 0 :(得分:1)
根据http://msdn.microsoft.com/en-us/library/6sdktyws.aspx您的Attachment
构造函数尝试使用第二个参数设置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);
答案 1 :(得分:0)
您正在尝试使用System。 Net .Mail.Attachment with System。 Web .Mail.MailMessage。
这些API彼此不兼容。系统。 Web .Mail.MailMessage仅支持System。 Web .Mail.MailAttachment,而非System。 Net .Mail.Attachment。