使用当前登录用户通过 SMTP 客户端发送电子邮件
本文关键字:客户端 SMTP 电子邮件 登录 用户 | 更新日期: 2023-09-27 18:34:27
>我设置了通过LDAP进行一些表单身份验证的网站。当当前登录的用户单击按钮时,我正在发送电子邮件,但是电子邮件是从我的地址而不是用户发送的。这造成了一些混乱。
我想做的是使用登录的用户帐户发送电子邮件,而无需让他们再次输入用户信息。
我基本上想这样做:
MailMessage message = new MailMessage();
message.From = new MailAddress(User.GetIdentity);
message.Subject = Subject;
message.Body = body;
message.IsBodyHtml = true;
SmtpClient client = new SmtpClient("address.qweqwe", 25);
client.Credentials = new System.Net.NetworkCredential(User.Identity);
client.Send(message);
获取用户电子邮件没什么大不了的,我已经有了方法,但我不确定应该如何获取他们的凭据。他们已经登录以访问该页面,我知道他们有 LDAP 电子邮件。
有没有办法做到这一点,而不会强迫用户再次登录只是为了发送电子邮件?
如果您的SMTP服务器需要凭据,我可以看到2解决方案。
-
通过页面询问用户的网络凭据(用户名/密码(
-
设置有权代表所有用户中继的帐户。 这将允许您为 SMTP 服务器设置单个帐户。 然后,每次发送电子邮件时,只需更改 MailMessage.From 属性即可。