4

私は兄の会社のウェブサイトを構築しています。ウェブサイトで最も重要な要素はメール機能です。訪問者がそのシステムを使用して弟にメールを送信できることが重要です. だから私はこのコードを使用しました:

message.From = new MailAddress("someemail@somedomain.com");
message.To.Add(new MailAddress("emailaddress"));
message.CC.Add(new MailAddress("emailaddress"));
SmtpClient client = new SmtpClient("smtp.live.com", 587);
client.EnableSsl = true;
client.Credentials = new System.Net.NetworkCredential("emailaddress","password");
client.Send(message);

コードは正常に動作していますが、問題が 1 つあります。パスワードを入力する必要がありますが、入力したくありません。MD5 ハッシュ (または他の種類の暗号化) などを使用してパスワードを保護する方法はありますか?

4

2 に答える 2

6

SMTP (電子メールの基になるプロトコル) では、パスワードをプレーン テキストで指定する必要があります。

通信チャネルはすでに保護されているため、ネットワーク上での電子メール パスワードの傍受を防ぐことができます。

パスワード自体をweb.config の暗号化された要素に配置して、保存時に保護することができます。

最後に、この目的のみに使用されるアカウントを考えてみましょう。そのアカウントから兄弟のアカウントにメールを転送します。パスワードが侵害された場合は、アカウントを削除し、新しい転送アカウントを作成してください。

于 2012-09-10T21:07:18.293 に答える
0

smtp 電子メール オブジェクトの詳細はSystem.Net、app.config または web.config で設定できます。

http://msdn.microsoft.com/en-us/library/w355a94k(v=vs.90).aspx

構成ファイルにパスワードを設定すると、そのセクションを暗号化して、パスワードをざっと読み取られるのを防ぐことができます。ただし、最終的にはパスワードを文字列として提供する必要があります。

于 2012-09-10T21:11:09.240 に答える