2012-05-16 182 views
0

我已經重複嘗試使用以下代碼發送附件。我使用了端口25,465,467和587,導致了相同的錯誤。我已經通過其他帖子瀏覽過相同的問題或接近相同的問題,並嘗試了許多涉及的修復,但都沒有爲我工作。幫幫我!System.Net.Mail.SMTPException:發送郵件失敗

try 
{ 
    var smtp = new SmtpClient 
    { 
     Host = "smtp.gmail.com", 
     Port = 587, 
     EnableSsl = true, 
     DeliveryMethod = SmtpDeliveryMethod.Network, 
     UseDefaultCredentials = false, 
     Credentials = new System.Net.NetworkCredential("[email protected]", "xxxxxxxxxxxx") 
    }; 
    using (var message = new MailMessage("[email protected]", "[email protected]") 
     { 
      Subject = "Boom Baby!", 
      Body = "The stuff!" 
     }) 
    { 
     smtp.Send(message); 
    } 
} 
catch (Exception e) 
{ 
    MessageBox.Show(e.Message); 
} 

回答

0

該代碼看起來不錯,但我修改它,如下所示,它的工作完美無瑕。

protected void Btn_SendMail_Click(object sender, EventArgs e){ 

    var smtp = new SmtpClient { 
    Host = "smtp.gmail.com", 
    Port = 587, 
    EnableSsl = true, 
    DeliveryMethod = SmtpDeliveryMethod.Network, 
    UseDefaultCredentials = false, 
    Credentials = new System.Net.NetworkCredential("[email protected]","**********") 
    }; 

    MailMessage mailObj = new MailMessage("[email protected]", txtTo.Text, txtSubject.Text, txtBody.Text); 

    smtp.Send(mailObj); 

} 
-1

I have tried repeatedly to send an attachment using the following code

您的代碼缺少將附件添加到電子郵件。

System.Net.Mail.Attachment attachment; 
attachment = new System.Net.Mail.Attachment("path of the file to be attached"); 
mail.Attachments.Add(attachment);