从SMTP服务器发送邮件,无需输入密码

本文关键字:输入 密码 SMTP 服务器 | 更新日期: 2023-09-27 18:09:20

我们有一个应用程序,提示用户使用他的ldap用户名和密码登录,从中我可以获得用户的电子邮件,但不是电子邮件密码,我的目标是从这个用户的邮件发送电子邮件,而不需要提示用户输入他的电子邮件密码。

我用下面的代码发送电子邮件

NetworkCredential loginInfo = new NetworkCredential("fromemail@mydomain.com","mypassword");
MailMessage msg = new MailMessage();
sg.From = new MailAddress("fromemail.lb@mydomain.com");
msg.To.Add(new MailAddress("toemail.lb@mydomain.com"));
msg.Subject = "test";
SmtpClient client = new SmtpClient("smtp.mydomain.com");
client.EnableSsl = true;
client.UseDefaultCredentials = true;
client.Credentials = loginInfo;
client.Send(msg);

是否可以发送没有密码的电子邮件?比如电子邮件欺骗,如果不可能,是否有可能伪造它,比如将所有电子邮件发送到一个电子邮件中,但使电子邮件看起来好像来自登录用户的电子邮件?

谢谢

从SMTP服务器发送邮件,无需输入密码

这完全取决于SMTP服务器。当您配置SMTP服务器时,您可以决定它接受哪些凭据,以及它是否允许您冒充您不是的人。许多web服务器在本地主机上有一个内置的SMTP服务器,通常不需要任何凭据。一些互联网服务提供商提供SMTP服务器,允许您从其他人发送电子邮件。如果您的SMTP服务器不需要身份验证,您可以简单地删除配置SMTP客户端安全性的3行代码。