OS Xが最初にSMTPを構成せずに電子メールを送信できるのはなぜですか?


9

ターミナルでコマンドを実行すると、メールが送信されます。ローカルSMTPが実行されていないことを確認したので、Appleが舞台裏で使用しているメカニズムは何ですか?

echo "Hello" | mail -s "Test" foo@bar.com

回答:


4

mail OS Xでは、実際にはメールを処理するのに十分な時間Postfixを生成し、しばらくしてからそれを破棄します。

この動作を確認するにはtelnet localhost 25、mailコマンドの前、直後に5分待ってから、もう一度試してください。

Postfixがどのように生成され、分解されるかを説明していないため、これが実際に質問に対する適切な回答であるかどうかわかりませんが、質問への回答に役立つことを願っています。


7

SMTPデーモンまたはサーバーは、メールを送信するのではなく、受信するためのものです。あなたの例でmailは、は純粋に電子メールクライアントであり、の適切なDNS MXレコードで定義されている任意のサーバーに接続しますbar.com。これを行うためにローカルサーバーが実行されている必要はありません。

ただし、メールの設定によっては、認証するために送信メールサーバーにログインする必要がある場合や、送信者や返信先のアドレスを提供するだけの場合などがあります。これで、コマンドラインで適切な端末のパラメータですが、メールアプリを設定している限り、この構成はすでに保存されており、メールサブシステムを一時的に起動するだけで、端末コマンドがその情報を取得し、1つ以上のメールSMTPサーバーを使用できます。発信メッセージの送信を選択します。その後、完了時にプロセスを終了します。

コマンドラインでこれをすべてテストし、メールクライアントを使用せずにメールを送信できます。私はMacを使用していないので、これらのコマンドは編集者が編集する必要があるかもしれませんが、これを行うことができます。

nslookup
set type=mx
bar.com
exit

telnet MXServer 25 (where MXServer is one of the results returned above and 25 is the port number for SMTP servers)

Telnet経由のメール送信の詳細については、こちらをご覧ください-優れたデバッグツールです


あなたの答えは最高の票を得ましたが、それは間違っています。MacはPostfixを生成してメールを受信し、@ ziggが上記で提案したように自動的にシャットダウンします。とにかくあなたの努力をありがとう。
ヨガ

それ自体が正しくないというわけではありません。すべての詳細は正しいですが、必ずしも現在の形式で質問に回答するとは限りません。そうするために編集されました。
stuffe

@stuffe氏は、「SMTPデーモンまたはサーバーは、メールを送信するのではなく、受信するためのものです」と語った。私は違うことを頼む必要があります。これはコメントなので、ウィキペディアからのみ引用します「ユーザーレベルのクライアントメールアプリケーションは通常、メッセージの送信にのみSMTPを使用します」
Seamus

1

私はmailいつもローカルsendmailを使用してメールを送信すると思います。で、OSX用のsendmail postfixのです。そしてそれは間違いなく使用されています。

メールのヘッダーを確認できReceived: by [Your-Mac] (Postfix, from userid ...ます。

それでも、このようにmail(またはそれ以上postfix)使用することはお勧めできません。ベストプラクティスは、ローカルPostfixにスマートホストを使用して、頻繁に使用されるファイアウォール制限を回避することです。

Snow LeopardのPostfix用SMTPスマートホストセットアップで解決策を見つけることができます(これはLionでもMountain Lionでも動作します)。


ヘッダーから、... Received:10.194.242.101 by SMTP id xxx; ... X-Received:10.68.92.196 with SMTP id yyy; ...私の内部IPは192.168.xx
Yoga
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.