0

私は、特定の時間間隔で有効な電子メールに自動的に電子メールを送信するアプリケーションに取り組んでいました。インターネットで検索すると、ほとんどのコードがgmail.comなどの既存のメールアカウントを使用して、SMTPクライアントとしてログインしてメールを送信していることがわかりました。しかし、私の問題は、ユーザーの電子メールのSMTPサーバー名がわからないことです(ユーザーはログイン/パスワードを知っていますが、一般的にこれらのことを認識していないため)。例えば、

some@gmail.comはsmtp.gmail.comとポート番号(465)を提供する必要があります

something@nextek.netはmail.nextek.netとポート番号(?)を提供する必要があります

something@screaming.Net smtp.tiscali.co.ukとポート番号(?)

メールアドレスのドメイン名を使用してMXレコードを取得しましたが、実際には、使用可能な着信SMTPサーバー名が提供されていることに気付きました。

たとえば、コマンドプロンプトでnslookupを使用してpingを実行すると、gmail.comは他の4つのサーバー名とともにgmail-smtp-in.l.google.comを提供します。

また、DNSを介して電子メールサーバー名を検索して直接送信するよりも、既存のSMTPサポート電子メールを使用して電子メールを送信することの利点は何ですか?それとも不可能ですか?

私はプロトコルにあまり精通していないので、私が間違っている場合は私を訂正してください。

4

1 に答える 1

1

プロトコルに精通していない場合は、プロトコルを実装しようとしても意味がありません。

一般に、あなたのようなアプリケーションは、SMTPプロトコルの詳細について心配する必要はありません。プラットフォームに既存のSMTPクライアントライブラリを使用し(使用できる.NET用のライブラリがあると確信しています)、MTA(受信者ではなくMTA)に接続し、送信する電子メールを送信します。 '完了しました。MTAは、受信者に電子メールを送信する方法を理解するためのすべてのSMTPプロトコルの詳細を処理します。

メールを送信することは、角にある郵便ポストに手紙を投じて、郵便局にそれを届ける方法を理解させることに非常に似ています。どの車両に乗せるか、受取人の地元の郵便局の配送センターがどこにあるか、またはそれらの詳細を知る必要はありません。

Postfixなどを使用して独自のMTAを設定するか、独自のGmailアカウントを介してメールを送信することができます(もちろん、Gmailで許可する前にGmailアカウントとパスワードが必要です)。

于 2012-08-01T22:06:28.553 に答える