1

我已经设置了一些通过 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 电子邮件。

有什么方法可以做到这一点,而无需强迫用户再次登录以发送电子邮件?

4

1 回答 1

2

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

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

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

于 2012-05-15T19:47:45.050 回答