企業のメールプロバイダー用のGmailがあります。
ASP.NETからsmtp.gmail.com
を介してメールを送信できるようにしたい。私はこれをうまく実行できました。これには、すべての送信済みアイテムがGmail内の正しい送信済みアイテムフォルダーに表示されるという利点があります。ただし、smtp.gmail.com
への接続には2〜3秒かかる場合があります。場合によっては、完全に失敗することさえあります。これはASP.NETアプリなので、メールを確実に送信できる必要があります。自分でメールデーモンを作成する必要はありません。SMTPに依存したいだけです。
IIS6で仮想SMTPサーバーを試しましたが、動作させることができませんでした。アクティブなcurrent session
が最大1分間表示され、その後消えます。
sendmail から do this -のようなものを使用する必要がありますか?または、より適切に制御できる他の無料のSMTPリレーを使用する必要がありますか? ' Gmail SMTPリレー 'という名前のsourceforgeプロジェクトも見つかりました-使用しているホストサーバーにはがインストールされており、独自のSMTPサーバーがあります。
私はグラフィカルなものを好みます-そして、私がすでにインストールしているので、何よりもMicrosoft SMTPサーバーを好みます。
私が必要とするものの正確な説明がここにあります(IISを使用する場合):
このC#コードを使用してメールを送信しています
var client = new SmtpClient("127.0.0.1", 587);
client.EnableSsl = false;
注:C#アプリとローカルSMTPサーバー間の通信は暗号化されていません(そのため、EnableSsl = false)-SMTPサーバーとGMAIL間の通信は暗号化されています詳細については、リンクされたドキュメント)。
重要なヒント:Microsoft SMTPクライアントを使用してメールをリレーしている場合は、「デフォルトのSMTP仮想サーバー>ドメイン」にドメインがないことを確認してください'リスト。その場合、それらのドメイン宛てのメールはすべてC:\Inetpub\mailroot\Drop
-これはおそらく、このインスタンスで必要なものではありません。 mydomain.com
から(文字通り)example.com
送信メールが実際に送信されない問題が発生した後。
私はこれと数週間戦いました。 SMTPゲートウェイを使用してメールを送信する3つのASP.NET Webサイトで使用している設定を次に示します。
アドレス:smtp.gmail.comポート:587
1)移植は非常に重要です。 SMTPサーバーにsmtp.gmail.com:587のように入力する必要がある場合があります。私は何年もMicrosoft SMTPに触れていなかったので、セットアップ画面がどのように表示されるか思い出せません。
2)Gmailで必要になるため、SMTPで[〜#〜] ssl [〜#〜]を必ず有効にしてください。
3)SMTP認証はBasicに設定する必要があります。
4)認証にメールエイリアスではなく実際のメールを使用していることを確認します。これは私に多くのトラブルを与えました。
これは私がそれを機能させた方法です。