如何在不使用密码的情况下将电子邮件从MVC4发送到我的Gmail?

时间:2013-09-04 09:57:03

标签: c# asp.net-mvc-4

这是我在Contactus控制器中的Methode。

  [HttpPost]
  public string Sendemail(string username, string useremail, string usermobile)            
     {
        var success = "success";
        var fromemail = useremail;
        var toemail = WebConfigurationManager.AppSettings["email"];
        var password = WebConfigurationManager.AppSettings["password"];            
        var body = userdescription;
        var mobile = usermobile;
        var smtp = new SmtpClient
        {
            Host = "smtp.gmail.com",
            Port = 587,
            EnableSsl = true,
            DeliveryMethod = SmtpDeliveryMethod.Network,
            Credentials = new NetworkCredential(toemail, password)//here i dont want to   speciefie my pasword      
         // Credentials=new NetworkCredential()
        };
        using (var message = new MailMessage(fromemail, toemail)
        {
            Body = body
        }) { smtp.Send(message); }
        return success.ToString();
    }

在我的WebConfig文件中,我已经指定了我的用户名和密码,如果我尝试向邮件发送其工作正常,但我不认为我在we.config文件中的密码是speciefie我只需要将电子邮件发送给密码而不是密码。

这是我的Webconfig代码......

   <appSettings>  
    <add key="email" value="chandru@yadnom.com"/>
    <add key="password" value="xxxxxxxxx"/>
 </appSettings>

如果我喜欢它意味着它的工作,但我也不想在web.config中指定我的密码 我想仅限于电子邮件地址..

请帮助我,我该怎么做..

提前致谢...

1 个答案:

答案 0 :(得分:3)

未经身份验证,您无法使用smtp.gmail.com,这是Google政策。

要解决此问题,您可以:

  • 在配置文件中加密密码(由bendataclear建议)
  • 使用不需要身份验证的SMTP服务器