2013-07-17 45 views
0

將地址發回POST方法。我想發送電子郵件至該地址:回發地址列表併發送電子郵件失敗開啓SMTP

[HttpPost, ActionName("Index")] 
    public ActionResult IndexPOST(SuppliersIndexVM allSuppliers) 
    { 
     MailMessage mail = new MailMessage(); 
     SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com"); 

     mail.From = new MailAddress("[email protected]"); 
     mail.To.Add("[email protected]"); 
     mail.Subject = "Order"; 
     mail.Body = "I would like to order the following..."; 

     SmtpServer.Send(mail); 

     return RedirectToAction("Index"); 
    } 

錯誤是由最後一行來:SmptpServer.Sed(郵件)...

SMTP服務器要求安全連接或客戶端未通過身份驗證。服務器響應是:5.7.0必須首先發出STARTTLS命令。 b20sm10938791wiw.4 - gsmtp

任何想法傢伙.....還我怎麼能添加表格等,以我發送電子郵件......歡呼聲

+0

您是否閱讀過錯誤信息?您必須通過服務器進行身份驗證。這裏有什麼問題? –

回答

0

我認爲錯誤是由於Gmail之前它需要驗證可以讓你通過其SMTP服務器發送電子郵件。您可以嘗試添加下面的代碼來擺脫此問題。

SmtpServer.EnableSsl = true; 
SmtpServer.DeliveryMethod = SmtpDeliveryMethod.Network; 
SmtpServer.UseDefaultCredentials = false; 
SmtpServer.Credentials = new System.Net.NetworkCredential("emailaddress","password"); 
+1

您可以使用Web.config中的mailSettings指令代替寫入代碼中的認證信息:http://msdn.microsoft.com/en-us/library/vstudio/ms164242.aspx –