2012-03-23 17 views
0

C#WinFormアプリケーションで3つの問題が発生しました。C#winformアプリケーションを使用した電子メールの送信

1)電子メールを送信するために、実行時にホストとポート番号を選択する必要があります。 smtp.mail.yahoo.comとポート番号465またはsmtp.google.comとポート番号587。これを達成する最も良い方法は何ですか?

2)これをテストすると、私のPCにインストールされている私のウイルス対策(クイックヒール)がアプリケーションをブロックしていて、それが信頼できる電子メールクライアントではないと言っています。私のアプリケーションをウイルス対策/ Windows信頼できる電子メールクライアントのリストにプログラムで含めるにはどうしたらいいですか?

3)デフォルトのポート25または465や587のような他のポートを使用する必要がありますか?

+0

接続の詳細はどこから取得していますか? – Amicable

+0

私はあなたのプログラムが信頼できる電子メールクライアントであることをあなたのアンチウィルスソフトウェアが伝えているとは思っていません。それがうまくいく唯一の方法だろう。 –

答えて

0
  1. このポートデータをどこから取得するかによって異なります。どこから番号を取得していますか?

  2. これは問題ではありません。なぜなら、番号1によれば、これは実行時に選択されるからです!

+0

2.「どのように私のアプリケーションをウイルス対策/ Windows信頼できる電子メールクライアントリストにプログラムで含めることができますか?」もう一度お読みください – Reniuz

+0

ありがとうございました。編集されました。それがプログラマチックに可能であるかどうかはわかりません - 私は思っていたほど巨大なセキュリティリスクになります。 –

1

System.Net.Mailは、ホストとポートのプロパティが含まれている名前空間のクラスSmtpClient
異なるポートとホストを設定する際に問題はありません。メールを送信する実際のポートは、使用するSMTPサービスによって異なります。

ホストとポートの設定を保存する最適な場所。
目的によって異なります。 .configファイル(アプリケーション設定)は、セットアップ処理中に一度だけ必要な設定で、すべてのユーザー用に固定されている場合に使用します。実行時にこのデータを変更する機能を各ユーザーに与えたい場合は、設定ファイル(ユーザー設定)を使用します。また、アプリケーションにデータベースがある場合は、設定に関する情報を持つOptionsテーブルを検討することができます。

「プログラムでアプリケーションをウイルス対策ソフトに追加する」の場合。
可能であれば、とても難しいと思います。セキュリティはひどく損なわれるでしょう。
最後に、すべてのソリューションは、特定のウイルス対策ベンダーの特定のAPIに依存します。

関連する問題