对在ASP.NET MVC中发送电子邮件感到困惑

时间:2015-04-29 18:46:37

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

您好所有人都可以解释一下UserNamePassword会是什么吗?我相信那些人要求我的gmail用户名和密码正确吗? (我是那个将永远收到电子邮件的人)我正在尝试为我的联系表单实施电子邮件服务。对不起,我是asp.net mvc的新手。

public class MailService : IMailService
{
    public string SendMail(string from, string to, string subject, string body)
    {
        var errorMessage = "";
        try
        {
            var msg = new MailMessage(from, to, subject, body);
            using (var smtp = new SmtpClient())
            {
                var credential = new NetworkCredential
                {
                    UserName = "myemail@yahoo.com",
                    Password = "password"
                };
                smtp.Credentials = credential;
                smtp.Host = "smtp.gmail.com";
                smtp.Port = 587;
                smtp.EnableSsl = true;
                smtp.Send(msg);
            }
        }
        catch (Exception ex)
        {
            errorMessage = ex.Message;
        }
        return errorMessage;
    }
}

1 个答案:

答案 0 :(得分:2)

是的,您需要使用登录信息进行身份验证,就像设置电子邮件客户端以发送电子邮件一样。

SmtpClient.Credentials Property

  

获取或设置用于验证发件人的凭据。
  ....
  某些SMTP服务器要求在服务器代表其发送电子邮件之前对客户端进行身份验证。