メールアドレスを指定してPOPまたはIMAPサーバーを特定する方法はありますか?私は技術者以外のユーザー向けのアプリケーションを構築していますが、IMAP/POPサーバーに問い合わせるのに煩わされたくありません。mail2web.comはこれを行いますが、方法がわかりません。
5 に答える
これがThunderbirdのやり方です
/**
18 * Try to guess the config, by:
19 * - guessing hostnames (pop3.<domain>, pop.<domain>, imap.<domain>,
20 * mail.<domain> etc.)
21 * - probing known ports (for IMAP, POP3 etc., with SSL, STARTTLS etc.)
22 * - opening a connection via the right protocol and checking the
23 * protocol-specific CAPABILITIES like that the server returns.
24 */
Thunderbird 3でも同じことができます。ソース コードを見てみましょう。
私はそれがただのルックアップテーブルだと思う..
特定のドメインの POP/IMAP サーバーを規定する標準はありません。規則のみ、または Joil が示唆するように、ルックアップ テーブルを使用できます。次の宛先にメールを送信するための機能要件があるため、SMTP サーバーは異なります。ピックアップ (POP/IMAP 経由) は、完全にローカルのドメイン管理者の問題です。ごめん。
ドメインを取得して、fred@mymail.com が pop.mymail.com および imap.mymail.com になるようなサーバー名を作成できると思います。または、さらに進んで MX レコードを調査し、同様の置換を実行することもできます。次に、候補サーバーのリストを調べて、POP/IMAP 応答を探します。ただし、セキュリティの面では少し危険かもしれません。
乾杯、ダン
一般的にこれを正しく行う方法は絶対にありません。
ただし、一般的なメール プロバイダーのテーブルを使用してデフォルトを入力したり、smtp.example.com などを入力したりすることはできますが、すべてがメールにある私の仕事のシステムのように、単純なケースでは失敗します.wherever.com を異常なポート番号で。したがって、最終的には、ユーザーが何をしてもオーバーライドできる必要があります。
本当に一般的なものにしたい場合は、証明書と EAP も処理する必要があります。
サンダーバードは良い仕事をします。その方法はhttps://developer.mozilla.org/en-US/docs/Mozilla/Thunderbird/Autoconfigurationで説明されています。以下はドキュメントの抜粋です。
すべてのルックアップ メカニズムは、メール アドレス ドメインをルックアップのベースとして使用します。たとえば、電子メール アドレス fred@example.com の場合、ルックアップは次のように実行されます (この順序で)。
- ハードディスク上の tb-install-dir/isp/example.com.xml
- autoconfig.example.com を確認します
- ISPDB で「example.com」を検索
- DNS で「MX example.com」を検索し、mx1.mail.hoster.com については、ISPDB で「hoster.com」を検索します。
- 推測してみてください (imap.example.com、smtp.example.com など)。
今後、サポートされるメカニズムとして DNS SRV レコードを追加する可能性がありますが、現在は追加していません。