1

这是我在 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 文件中指定密码,我只需要指定电子邮件而不是密码......

这是我的 Webconfig 代码...

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

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

所以帮助我我该怎么做..

提前致谢...

4

1 回答 1

3

你不能在smtp.gmail.com没有认证的情况下使用,这是谷歌的政策。

要解决此问题,您可以:

  • 在配置文件中加密您的密码(如bendataclear 建议的那样)
  • 使用不需要身份验证的 SMTP 服务器
于 2013-09-04T10:03:49.507 回答