我使用以下代码使用Gmail帐户从我的Web应用程序发送邮件。我的问题是,我可以将发件人地址更改为原始发件人(gmail)地址以外的其他地址吗? 我的代码如下:
System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
System.Net.NetworkCredential cred = new System.Net.NetworkCredential("sample@gmail.com", "*******");
无论我做什么都没用,因为我总是收到来自sample@gmail.com
的邮件。是否有可能改变它?
我已改为
mail.From = new System.Net.Mail.MailAddress("sample@yahoo.com");
但我收到的邮件的地址为sample@gmail.com
,而不是来自新的“发件人”地址。我认为gmail smtp用原始凭证覆盖了发件人地址。
答案 0 :(得分:36)
这是解决方案:
这对我有用
答案 1 :(得分:32)
Gmail不允许您将FROM更改为与您的Gmail帐户不同的内容。
在你继续使用之前,你使用什么并不重要,他们会覆盖它。这可以防止垃圾邮件/欺骗。
答案 2 :(得分:5)
是的,只需使用From
的MailMessage属性即可例如。
mail.From = "newemail@email.com";
编辑:另外,请参阅此帖子,了解有关如何通过C#通过Gmail发送电子邮件的详细信息
Sending email in .NET through Gmail
编辑:虽然这对于邮件一般都适用,但是看起来这对gmail不起作用,因为google在发送之前会覆盖它(请参阅@Dave wanta的回答)
答案 3 :(得分:2)
如果你的发件人人数有限,你可以像@philip建议的那样。例如,您可能有customerservice@example.com
,simon@example.com
和philip@example.com
,甚至alias@example.com
。只要他们是实际gmail.com
网站上的批准发件人,您就可以从他们发送。
Gmail.com : Sending mail from a different address
如果您希望从任意用户(例如用户输入电子邮件的网站上的客户服务表单,而您不希望他们直接通过电子邮件发送给您)发送关于您可以做的最好的事情:< / p>
msg.ReplyToList.Add(new System.Net.Mail.MailAddress(email, friendlyName));
如果你处于受控环境中这很好用,但请注意我已经看到一些电子邮件客户端发送到起始地址,即使指定了回复(我不知道哪个)。
答案 4 :(得分:1)
检查#56和#58。它们可能与您想要做的事情相关 https://code.google.com/p/google-apps-script-issues/issues/detail?id=172