代码之家  ›  专栏  ›  技术社区  ›  Amr Badawy

如何设置从地址到任何其他gmail in的电子邮件(通过gmail在.NET中发送电子邮件)?

  •  2
  • Amr Badawy  · 技术社区  · 14 年前

    在这个岗位上 Sending Email in .NET Through Gmail 我们有一个代码可以通过gmail发送电子邮件,在send mail中,我们发现from字段包含我使用的gmail帐户
    我使用相同的代码,但通过将“发件人地址”更改为任何电子邮件,我希望ans在凭据中设置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帐户仍然出现在From Address和 AnyEmai@mailserver.com 没有出现。。。有办法吗?

    4 回复  |  直到 7 年前
        1
  •  1
  •   Gabriel Magana    14 年前

    这是故意的。你必须找到另一种发送出站电子邮件的方式,以便显示你想要的返回地址(我去过那里,似乎没有办法欺骗发件人地址)。

        2
  •  1
  •   Community CDub    7 年前

    你能核对一下这个问题吗 change sender address when sending mail through gmail in c#
    我想这与你的询问有关。

        3
  •  1
  •   Coder    9 年前

    您可以使用邮件设置>>帐户和导入选项在gmail帐户中导入电子邮件标识,该标识可用于发送邮件,但是,如果每次发送邮件时都要使用一些随机电子邮件标识,则不可能。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 用于使用不同属性发送邮件。

        4
  •  0
  •   Munjal Pandya    11 年前

    需要通过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