2012-02-15 65 views
-3

我的問題是,我試圖使用電子郵件發送任務在我的網站上的管理員。無法發送帶附件的電子郵件

當他從可用數據中選擇電子郵件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 = "[email protected]"; 
     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

也許附件在某種程度上被政策阻止。如果電子郵件反彈,sahibimports.com域名是否會以任何有意義的方式處理反彈,或者反彈只會落在地板上?你有沒有嘗試發送到不同的電子郵件帳戶,並通過不同的SMTP服務器?你看過SMTP日誌嗎?你是否檢查過SMTP服務器上的隊列/死信郵件文件夾? – 2012-02-15 06:29:09

+0

運行代碼時是否遇到異常? – M4N 2012-02-15 07:23:42

+0

是的AARON我做到了 – 2012-02-15 08:02:19

回答

1

根據http://msdn.microsoft.com/en-us/library/6sdktyws.aspxAttachment構造函數試圖設置的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); 
0

您要使用系統。 Net .Mail.Attachment with System。 Web .Mail.MailMessage。

這些API是互不兼容的。系統。 Web .Mail.MailMessage只支持System。 Web .Mail.MailAttachment,而不是系統。 Net .Mail.Attachment。

相關問題