如何设置发件人地址到任何其他Gmail邮箱(通过Gmail发送电子邮件)?

时间:2010-07-21 23:33:22

标签: c# .net asp.net email gmail

在这篇文章Sending Email in .NET Through Gmail中,我们有一个代码通过gmail发送电子邮件,我们从Field找到的发送邮件包含我用过的gmail帐户 我使用相同的代码,但通过将发件人地址更改为我想要的任何电子邮件,并将凭据设置为下面的

var fromAddress = new MailAddress("AnyEmai@mailserver.com", "From Name");
var toAddress = new MailAddress("to@example.com", "To Name");
const string fromPassword = "fromPassword";
const string subject = "Subject";
const string body = "Body";

var smtp = new SmtpClient
           {
               Host = "smtp.gmail.com",
               Port = 587,
               EnableSsl = true,
               DeliveryMethod = SmtpDeliveryMethod.Network,
               UseDefaultCredentials = false,
               Credentials = new NetworkCredential("from@gmail.com", fromPassword)
           };
using (var message = new MailMessage(fromAddress, toAddress)
                     {
                         Subject = subject,
                         Body = body
                     })
{
    smtp.Send(message);
}

但是在发送的电子邮件中,gmail帐户仍然显示在“发件人地址”中,并且AnyEmai@mailserver.com没有出现......有没有办法做到这一点?

4 个答案:

答案 0 :(得分:1)

这就是设计方式。您必须找到另一种发送出站电子邮件的方式,以便显示您想要的返回地址(我一直在那里,似乎没有办法欺骗来自地址)。

答案 1 :(得分:1)

你要查看这个问题change sender address when sending mail through gmail in c#
我认为这与你的询问有关。

答案 2 :(得分:1)

您可以使用邮件设置>>在您的Gmail帐户中导入电子邮件ID。帐户和导入选项以及可用于发送邮件的选项,但是如果您希望每次都使用一些随机电子邮件ID来发送邮件,那么这是不可能的。 Gmail会将其视为欺骗/垃圾邮件,并会在发送邮件之前将邮件地址重置为原始邮件ID。

using System.Net;
using System.Net.Mail;

public void email_send()
{
    MailMessage mail = new MailMessage();
    SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
    mail.From = new MailAddress("from@gmail.com");
    mail.To.Add("to@gmail.com");
    mail.Subject = "Your Subject";
    mail.Body = "Body Content goes here";

    System.Net.Mail.Attachment attachment;
    attachment = new System.Net.Mail.Attachment("c:/file.txt");
    mail.Attachments.Add(attachment);

    SmtpServer.Port = 587;
    SmtpServer.Credentials = new System.Net.NetworkCredential("from@gmail.com", "mailpassword");
    SmtpServer.EnableSsl = true;
    SmtpServer.Send(mail);

}

还有许多其他邮件服务可以实现相同但不通过gmail。检查博客Send email in .NET through Gmail以使用不同的属性发送邮件。

答案 3 :(得分:0)

电子邮件地址需要通过Gmail帐户设置进行验证。

请查看我的博客文章,详细描述了相应的步骤:

http://karmic-development.blogspot.in/2013/10/send-email-from-aspnet-using-gmail-as.html

在执行上述所有步骤之前,您需要对您的Gmail帐户进行身份验证,以允许访问您的应用程序以及设备。请通过以下链接检查帐户身份验证的所有步骤:

http://karmic-development.blogspot.in/2013/11/allow-account-access-while-sending.html