使用WepAPi发送邮件时更改

时间:2017-04-13 10:53:41

标签: asp.net asp.net-mvc asp.net-mvc-4 asp.net-web-api

我使用WebApi发送邮件。邮件发送成功。我想从邮件中更改并使用下面的代码进行更改,但需要从邮件中更改为' testweb@gmail.com'。我在webconfig中使用testweb@gmail.com,我想从testfrom@gmail.com设置。 但不按照以下代码工作,当我收到邮件时,它总是来自' testweb@gmail.com'而不是' testfrom@gmail.com' 注意:我使用上面的电子邮件只是在开发时使用我的真实邮件ID来提问。

还有其他方法可以达到这个目的吗?或者我需要改变一切。

以下是我发送邮件的代码:

public static bool SendMail(string toAddress, string subject, string body)
    {
        try
        {

            MailMessage msg = new MailMessage();
            msg.From = new MailAddress("testfrom@gmail.com");
            msg.To.Add(new MailAddress(toAddress));
            msg.Subject = subject;
            msg.Body = body;
            msg.IsBodyHtml = true;
            SmtpClient smtp = new SmtpClient();
            smtp.EnableSsl = true;               
            smtp.Send(msg);
            return true;
        }
        catch (Exception ex)
        {

            return false;
        }
    }

下面是webconfig smpt设置:

 <mailSettings>      
<smtp from="testweb@gmail.com">
    <network host="smtp.gmail.com" port="587" userName="testweb@gmail.com" password="test" />
  </smtp>
</mailSettings>

也可以尝试使用webconfig中的以下设置:

<smtp deliveryMethod="Network">
    <network host="smtp.gmail.com" port="587" userName="testweb@gmail.com" password="test" />
  </smtp>    
</mailSettings>

1 个答案:

答案 0 :(得分:0)

你不能!!

您正在使用谷歌SMTP服务器,它不允许更改发件人地址,如果您想更改发件人地址,请尝试使用其他允许的其他smtp提供商。