0
                SmtpClient smtpClient = new SmtpClient("smtp.gmail.com");
                smtpClient.Credentials = new NetworkCredential("xxxxx@gmail.com", "password");
                smtpClient.Port = 587;
                smtpClient.EnableSsl = true;

                MailMessage mail = new MailMessage();
                //mail.From = new MailAddress("xxx1@gmail.com");
                mail.To.Add("XX2@gmail.com");
                mail.Subject = "Test mail";
                mail.Body = "This is test mail, with test content";
                smtpClient.Send(mail);

在上面的代码中,为什么mail.From是强制性的?甚至我在 smtpClient.Credentials 中指定了邮件 ID。

即使我使用一些邮件 ID 指定了mail.From,收件人也不会从该邮件地址接收邮件,而是从我在smtpClient.Credentials中指定的xxxxx@gmail.com接收邮件。

4

1 回答 1

1

From 应该是发送邮件的地址。这可能与您的 SMTP 凭据不同。有些服务器会允许您使用与您的邮件地址不同的用户名。

Gmail 会显示接收邮件的电子邮件地址。他们这样做是为了让用户不会错误地从没有真正发送邮件的人那里获取邮件。并非所有电子邮件客户端都这样做。

您不能将地址伪造为 gmail。他们将始终显示他们从哪里获得电子邮件。

于 2012-06-09T06:26:03.493 回答