Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 4 从控制器mvc4发送电子邮件_Asp.net Mvc 4_Email - Fatal编程技术网

Asp.net mvc 4 从控制器mvc4发送电子邮件

Asp.net mvc 4 从控制器mvc4发送电子邮件,asp.net-mvc-4,email,Asp.net Mvc 4,Email,我正在尝试通过下面的操作方法发送电子邮件 [HttpPost] public ActionResult ForgotPassword1() { dbAlKhaleejEntities _context = new dbAlKhaleejEntities(); var email = Request["Email"]; var email_adress = _context.CUSTOMERs.First(em => e

我正在尝试通过下面的操作方法发送电子邮件

    [HttpPost]
    public ActionResult ForgotPassword1()
    {
        dbAlKhaleejEntities _context = new dbAlKhaleejEntities();
        var email = Request["Email"];
        var email_adress = _context.CUSTOMERs.First(em => email == em.CUSTOMER_EMAIL);
        var mailto = email_adress.CUSTOMER_EMAIL;

            MailMessage msg = new MailMessage();

            SmtpClient client = new SmtpClient("smtp.gmail.com");
            client.Credentials = new NetworkCredential("umairliaquat63@gmail.com", "abc");
            client.Host = "smtp.gmail.com";
            client.Port = 587;

            msg.From = new MailAddress("umairliaquat63@gmail.com");
            msg.To.Add(mailto);
            msg.Subject = "Password recovery";
            msg.Body = "Test Recovering the password";
            msg.IsBodyHtml = true;
            msg.Priority = MailPriority.High;


            client.DeliveryMethod = SmtpDeliveryMethod.Network;
            client.EnableSsl = true;
            client.UseDefaultCredentials = false;

            client.Send(msg);
            return RedirectToAction("forgetPassword");
  }
但在第“client.Send(msg)”行,它抛出异常“SMTP服务器需要安全连接或客户端未经过身份验证。服务器响应为:5.5.1需要身份验证”。如何解决此问题

请尝试以下代码片段:

 using (var client = new SmtpClient(SmtpServerHost, SmtpPort)
  {
    Credentials = new NetworkCredential(NetworkCredentialUserName, Password),
    EnableSsl = this.enableSSL
   }
   )
    {
      MailMessage msg = new MailMessage();          
      msg.From = new MailAddress(FromMailingAddress);
      msg.Subject = this.Subject;
  }

据我所知,您不需要编写自己的代码,因为
SmtpClient
可以使用您的配置:

<system.net>
  <mailSettings>
    <smtp from="It's me &lt;its@my.email&gt;">
      <network host="smtp.ip.or.domain" port="527" defaultCredentials="false" userName="noreply" password="12345" enableSsl="true"/>
    </smtp>
  </mailSettings>
</system.net>

验证邮件设置两次。此外,SMTP服务器可以拒绝黑名单或白名单中的IP连接。SMTP服务器可以将您的邮件检测为垃圾邮件


您可以使用您自己的本地SMTP或专用服务来发送大量邮件。

我建议您在将代码发送到webzSee时使用虚拟电子邮件地址来防止垃圾邮件