Linuxでのメールについて学んだこと
どうも。
kiekunです。
今日は以前研修で学習したメール関連の事を復習しました。
備忘録として簡単に残したいと思いました。
まずやったのがメール送信から受信までの一連の流れについて。
1.クライアントが自メールサーバに対して送信依頼
2.自メールサーバは自DNSサーバに対して宛先情報を聞き出す
3.自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サーバとの絡みも全然です。
明日挑戦してみようと思います。
今日はこんなところで。
では。