I am trying to send an email address in my application as someone (email should show up as if it were sent from that), but anytime I send the email, the name shows up as I supplied, but no matter what I do, the email address is what I am using to authenticate.
Is there any way to have the email to appear as if it is coming from someone I specify or will it always show up as coming from the authenticated email?
Here is what I have...
using (var message = new MailMessage()
{
From = From != new MailAddress(From.Email, From.FormalName),
Subject = Subject,
Body = Body
})
{
if (To != null)
{
foreach (var address in To)
{
message.To.Add(new MailAddress(address.Email, address.FormalName));
}
}
if (CC != null)
{
foreach (var address in CC)
{
message.CC.Add(new MailAddress(address.Email, address.FormalName));
}
}
var smtp = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential("myaccount", "mypassword")
};
message.IsBodyHtml = true;
message.Headers.Add("Reply-To", message.From.Address);
smtp.Send(message);
}