使用当前登录用户通过 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 客户端发送电子邮件

如果您的SMTP服务器需要凭据,我可以看到2解决方案。

  1. 通过页面询问用户的网络凭据(用户名/密码(

  2. 设置有权代表所有用户中继的帐户。 这将允许您为 SMTP 服务器设置单个帐户。 然后,每次发送电子邮件时,只需更改 MailMessage.From 属性即可。