2017-05-23 146 views
1

此代码在gmail个人帐户中运行良好,但是当我尝试使用gmail商业帐户时,它不工作并且一直给出错误。 5.5.1需要验证。SMTP不在gmail商业帐户中发送电子邮件

void SendEmail() 
{ 
    DataTable data = GetData(); 
    DataTable email_data = GetEmailData(); 
    data.TableName = "Employee_Data"; 

    using (XLWorkbook wb = new XLWorkbook()) 
    { 
     wb.Worksheets.Add(data); 

     using (MemoryStream memoryStream = new MemoryStream()) 
     { 
      wb.SaveAs(memoryStream); 
      byte[] bytes = memoryStream.ToArray(); 
      memoryStream.Close(); 
      String from = "[email protected]"; 

      for (int i = 0; i < email_data.Rows.Count; i++) 
      { 
       String to = email_data.Rows[i][0].ToString(); 

       using (MailMessage mm = new MailMessage(from, to)) 
       { 
        mm.Subject = "Employees Attachment"; 
        mm.Body = "Employees Exported Attachment"; 

        mm.Attachments.Add(new Attachment(new MemoryStream(bytes), "Employees.xlsx")); 
        mm.IsBodyHtml = true; 
        SmtpClient smtp = new SmtpClient(); 
        smtp.Host = "smtp.gmail.com"; 
        smtp.EnableSsl = true; 
        System.Net.NetworkCredential credentials = new System.Net.NetworkCredential(); 
        credentials.UserName = "[email protected]"; 
        credentials.Password = "1234"; 
        smtp.UseDefaultCredentials = true; 
        smtp.Credentials = credentials; 
        smtp.Port = 587; 
        smtp.Send(mm); 
       } 
      } 
     } 
    } 
} 
+0

尝试添加mm.Header =“来自:<[email protected]>” – Niko

+0

也,我不确定您的smtp.Host是smpt.gmail.com,它可能是smtp.abcd.net – Niko

+0

您应该配置您的谷歌帐户降低特权。 –

回答

相关问题