Asp.net 使用WepAPi发送邮件时更改为

Asp.net 使用WepAPi发送邮件时更改为,asp.net,asp.net-mvc,asp.net-mvc-4,asp.net-web-api,Asp.net,Asp.net Mvc,Asp.net Mvc 4,Asp.net Web Api,我使用WebApi发送邮件。邮件已成功发送。我想从邮件中更改它,我使用下面的代码更改它,但它从邮件中获取'testweb@gmail.com'. 我用testweb@gmail.com在webconfig中,我想从设置为testfrom@gmail.com. 但不是按照下面的代码工作,当我收到邮件时,它总是来自'testweb@gmail.com“而不是”testfrom@gmail.com' 注意:我使用上述电子邮件只是为了提问,而我使用我的真实邮件id 有没有其他方法可以做到这一点?或者我需

我使用WebApi发送邮件。邮件已成功发送。我想从邮件中更改它,我使用下面的代码更改它,但它从邮件中获取'testweb@gmail.com'. 我用testweb@gmail.com在webconfig中,我想从设置为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>

你不能


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

您好@Vinay,我在旧项目的wcfservice中使用了相同的代码,我可以从该项目中更改,但不能在webapi中工作。@Hitesh您在WCF服务中使用了gmail中相同的SMTP提供程序。是的,我在WCF服务中使用了相同的代码和相同的webconfig设置。@Hitesh我找到了这个答案,希望这有助于可能的重复