掩码来自电子邮件地址smtp asp.net gmail

时间:2013-01-16 21:18:54

标签: c# asp.net gmail mailmessage

我正在使用MailMessage从Web应用程序发送电子邮件。我相信我有正确的代码来“掩盖”SendEmail()函数

中的from name
public static void SendEmail(string toAddress, string ccAddress, string bccAddress, string subject, string body, MemoryStream attachment, string attachmentName, bool isHtml, string fromAlias = "info@cipollainsurance.com")
    {
        using (MailMessage message = new MailMessage())
        {
            AlternateView htmlView = AlternateView.CreateAlternateViewFromString(AddHeaderAndFooter(subject, body).ToString(), new System.Net.Mime.ContentType("text/html"));

            var resources = LoadResources();

            foreach (LinkedResource resource in resources)
            {
                htmlView.LinkedResources.Add(resource);
            }

            message.AlternateViews.Add(htmlView);

            if (!string.IsNullOrEmpty(toAddress))
            {
                var addresses = toAddress.Split(',', ';');

                foreach (string address in addresses)
                {
                    message.To.Add(address);
                }
            }

            if (!string.IsNullOrEmpty(ccAddress))
            {
                var ccAddresses = ccAddress.Split(',', ';');

                foreach (string cc in ccAddresses)
                {
                    message.CC.Add(cc);
                }
            }

            if (!string.IsNullOrEmpty(bccAddress))
            {
                var bccAddresses = bccAddress.Split(',', ';');

                foreach (string bcc in bccAddresses)
                {
                    message.Bcc.Add(bcc);
                }
            }

            if (!string.IsNullOrWhiteSpace(fromAlias))
            {
                message.Sender = new MailAddress("info@cipollainsurance.com", fromAlias, System.Text.Encoding.ASCII);
            }
            message.Body = body;
            message.BodyEncoding = System.Text.Encoding.UTF8;
            message.Subject = subject;
            message.SubjectEncoding = System.Text.Encoding.UTF8;
            message.IsBodyHtml = isHtml;
            message.From = new MailAddress("info@cipollainsurance.com", "Cipolla Insurance");

            if (attachment != null)
            {
                message.Attachments.Add(new Attachment(attachment, attachmentName));
            }

            SmtpClient client = new SmtpClient();
            client.Send(message);
        }
    }

但是,来自电子邮件地址的emailemail@webedgemedia.com仍然是web.config中指定的内容。

<smtp from="info@cipollainsurance.com" deliveryMethod="Network">
    <network host="smtp.gmail.com" enableSsl="true" port="587" password="myPassword" userName="email@webedgemedia.com" />
</smtp>

有人可以通过info@cipollainsurance.com识别我发送的电子邮件吗?

1 个答案:

答案 0 :(得分:0)

我不相信GMAIL允许你这样做 - 否则使用他们的服务作为SPAM中继非常简单。

您可以做的最多是设置不同的REPLY-TO,但您的GMAIL(帐户)电子邮件仍为FROM