1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

PostfixがMessage-IDとDateを自動付与する場合としない場合

Last updated at Posted at 2020-05-20

#はじめに

職場(とある大学)でperlでメールを送信するスクリプトが出回ってます。作者はよくわからないのですが。Linuxでコマンドライン(CUI)で実行を想定したプログラムです。

ほぼ同じスクリプトが出回ってるようですが、perlプログラムを実行してる利用者によって以下のヘッダがある場合と無い場合がある事に気がつきました。

Message-Id
Date

プログラム内ではMessage-IdおよびDateは設定してないようです。なのでメール配送の経路のどこかで自動付与されているようです。

それはさておいて、Message-IdとDataが付いてる場合と付いてない場合の違いは何なんだ?

補足:Dateは必須ヘッダですので、Dateが無いメールは不完全なメールになります。一部の環境では配送エラーが起きる可能性も否定できません。

#前提知識
検索するとMessage-IdやDateについては誰が付けるべきかについて論議があります。

https://masutaka.net/chalow/2007-11-16-2.html
Message-Id や Date は誰が付けるべきか?

上記ブログ補足:
MTA: メール転送エージェント。簡単にいうとメールサーバソフト。sendmailやpostfixとか。Ref: Wikipedia

MUA: 電子メールクライアント。簡単にいうとメールリーダー。OutlookやThunderbirdとかMewとか。Ref: Wikipedia

#ポリシー的な話
上記ブログの説明で、ポリシー的な話だというのはわかりました。

それはさておいて、具体的にはどこでヘッダの自動付与が制御されているのかわかりませんでした。

職場でよくつかわれてるMTAはpostfixです。postfixの設定を検索してみました。

http://www.rosy-kitten.org/~ryusuke/diary/?date=20090522
PostfixのMessage-ID:ヘッダ付加

という事で、Postfixの設定パラメータ「local_header_rewrite_clients」のようです。

補足: Postfixのマニュアルの日本語訳

#結論
簡単に言うと、メールサーバにリモートログインしてperlスクリプトを実行してた場合はMessage-IDとDateヘッダが自動付与されて、メールサーバ以外でperlスクリプトを実行してた場合は自動付与されてないという事でした。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?