sendmailの仕組みについて教えてください。

以前よりsendmailをPerlやPHPで叩いて使ってます。
sendmail自体の設定は特にしておらずあくまでメールを送信するだけに使ってます。
sendmailがメールを送るおおまかなステップは次の認識であってますか?
 Perl or PHPがhoge@example.comへメール送信命令を出す
 ↓
 sendmailがDNSサーバーからMXレコードから名前解決
 ↓
 sendmailは送信先メールサーバーへメールとSMTPコマンドでやりとり
 ↓
 問題なければsendmailは送信先メールサーバーへメール送信
またその中の疑問として
1.sendmailの中にSMTPサーバーがあるからSMTPコマンドでやりとりしてる?sendmail=SMTPという見方も?
2.sendmailがメールサーバーへ送信するポートは25?
この流れでおかしい所や変な認識をしている部分があればご指摘ください。

回答の条件
  • URL必須
  • 1人2回まで
  • 13歳以上
  • 登録:2010/10/21 12:18:57
  • 終了:2010/10/21 12:38:09

ベストアンサー

id:b-wind No.1

b-wind回答回数3344ベストアンサー獲得回数4402010/10/21 12:29:21

ポイント80pt

sendmailがメールを送るおおまかなステップは次の認識であってますか?

エラー次の処理や各ステップで実際どのようなデータを扱うかを省いてしまえば認識としてはおおよそ間違っていない。


1.sendmailの中にSMTPサーバーがあるからSMTPコマンドでやりとりしてる?

ちょっとちがう。

この場合は Sendmail というアプリケーションの SMTP クライアント機能をつかって相手先SMTPサーバーに通信している。

/usr/sbin/sendmail は Sendmail というアプリケーションにメール送信指示を出すインターフェイスと捉えた方がよい。


2.sendmailがメールサーバーへ送信するポートは25?

相手先メールサーバーが待ち受けているポートは25なので基本的にはそうなる。

ただし、社内ネットワーク等で何段階か SMTP サーバーを経由する場合等にポートを変えている可能性はある。

この場合は発信側の Sendmail にも対応する設定が必要。

とはいえ、そうする必要性は殆ど無いのでまず考えなくても良い事ではあるが。

人力検索はてな

id:quocard

的確な回答ありがとうございます。

現状で問題はなかったのですが、仕組みをしらないと気持ちわるいと思い質問させていただきました。

長年、疑問に思っていたことが解決しました。

ありがとうございます。

2010/10/21 12:37:52

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません