1

LDAPを介したいくつかのフォーム認証を備えたWebサイトをセットアップしました。現在ログインしているユーザーがボタンをクリックしたときにメールを送信していますが、メールはユーザーではなく私のアドレスから送信されています。これにより、少し混乱が生じます。

私がやりたいのは、ログに記録されたユーザーアカウントを使用して、ユーザー情報を再度入力せずにメールを送信することです。

私は基本的にこれをしたい:

    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 に答える