Linuxでのメールについて学んだこと

どうも。

kiekunです。

 

今日は以前研修で学習したメール関連の事を復習しました。

備忘録として簡単に残したいと思いました。

 

まずやったのがメール送信から受信までの一連の流れについて。

1.クライアントが自メールサーバに対して送信依頼

2.自メールサーバは自DNSサーバに対して宛先情報を聞き出す

3.DNSサーバは宛先情報を持った相手DNSサーバに情報を取りに行く

4.相手DNSサーバは自DNSサーバに情報を返す

5.DNSサーバはもらった宛先情報を自メールサーバに返す

6.自メールサーバは得た宛先情報を元に相手メールサーバにメール送信

7.相手メールサーバはそのメールを宛先ユーザファイルに蓄積

8.相手クライアントは相手メールサーバに読み出し要求

9.相手メールサーバは相手クライアントにメールを渡す

文字だけだとわかりづらい。

でもこんな感じかなーと思います。

 

そして次に行ったのがPostfixを使って実際にメールを送ってみること。

1回目上手く送れたんですけど、別の事やろうとしたら送れなくなってしまいました。

しかしその時、メールヘッダと呼ばれるものについて学ぶことができました。

まずメールヘッダとは簡単に言うと手紙の封筒みたいなもの。

手紙本体だけでは相手に届かない。

封筒に宛先情報などを記すから届きます。

そういった情報を記載しているのがメールヘッダと認識しました。

それでそのメールヘッダにはいくつかの項目があります。

その中で気になったものをメモしておきます。

X-Original-To: abc@example.co.jp

このメールは本来abc@example.co.jp宛に配達するはずだったメールですよという意味

 

Delivered-To: abc@example.co.jp

このメールはabc@example.co.jp宛に配達したよという意味

 

Return-Path: <>

正常にメールを届けられなかった際の返信先

 

Subject: test

メールの件名が入る(ここではtest

送信に失敗した場合、

Subject: Undelivered Mail Returned to Sender の件名でメールが届く

 

Status: 5.1.1

メール送信失敗の原因を示すエラーコード

5.1.1は、転送先に関する情報をこのサーバからは得られないという意味

 

なるほどなーと。

以前これが来た時はよく分かりませんでしたが。

でもじっくり読んでみると勉強になりました。

 

そして逆にPostfix側で受信したい場合の設定もいじりました。

ここにこれまでの認識が間違っていたものがありました。

設定は/etc/postfix/main.cfで行います。

myhostname

サーバのホスト名を設定

 

mydomain

ドメイン名を設定

 

myorigin

Linux自身からコマンドラインでメール送信する時の送信元アドレスの@以降を定義

 

inet_interfaces

メールの受信に関する設定

allだとLinuxで認識されているネットワークインターフェース全てで通信を許可する

localhostだとネットワークに接続されているインターフェースでは通信できない

 

mydestination

送信されてきたメールがローカルユーザに配送する必要があるメールかどうかを判断

これが認識が違ったやつになります。

これまでは、受信したい相手のドメインを書くと思っていました。

でも正しくは、相手側が指定した宛先で自分が欲しいドメインを指定する感じでした。

相手側のドメインではなく、自分が受け取りたいドメインを指定するとのこと。

 

mynetworks

このMTAを利用するメールクライアントの所属するネットワークを設定

 

mydestinationは「そっちなのかー」と衝撃を受けましたが勉強になりました。

今日でいくらか理解は深まりました。

でもまだ自分にしかメールを飛ばしていない状況です。

なのでDNSサーバとの絡みも全然です。

明日挑戦してみようと思います。

 

今日はこんなところで。

では。