I have used the following code to send mail from my web application using a gmail account. My question is, can i change the sender address to another address other than original sender(gmail) address? My code is as follows:
System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
System.Net.NetworkCredential cred = new System.Net.NetworkCredential("sample@gmail.com", "*******");
Whatever i do is useless as i always receive mail from sample@gmail.com
. Is it possible to change it?
I have changed to
mail.From = new System.Net.Mail.MailAddress("sample@yahoo.com");
but i received the mail with the from address sample@gmail.com
and not from the new "From" address. I think gmail smtp overwrites the from address with the original credential.
Gmail doesn't allow you to change the FROM to something different than your gmail account.
It doesn't matter what you use, they over-write it, before they relay it on. This prevent spamming/spoofing.
This is the solution:
This works for me
If you have a limited number of senders you can do as @philip suggested. For instance you may have
customerservice@example.com
,simon@example.com
andphilip@example.com
or evenalias@example.com
. As long as they are approved senders on the actualgmail.com
website you can send from them.Gmail.com : Sending mail from a different address
If you are expecting to send from an arbitrary user (such as a customer service form on a website where the user enters their email and you don't want them emailing you directly) about the best you can do is this :
If you're in a controlled environment this works great, but please note that I've seen some email clients send to the from address even when reply-to is specified (I don't know which).
Yes just use the From property of the MailMessage
eg.
EDIT: Also, see this post for more detailed info on how to emails via gmail in C#
Sending email in .NET through Gmail
EDIT: Although this works for mail in general, it appears this won't work for gmail as google overwrite it before its sent (see @Dave wanta's answer)
Check #56 and #58. They might be relevant to what you want to do https://code.google.com/p/google-apps-script-issues/issues/detail?id=172