MX(Mail eXchange) record
- そのドメイン宛てのメールをどのアドレスに配送すればいいかを指定するもの。メールサーバのホスト名(FQDN)を指定する
- Aレコードに基づいてメールサーバーのIPアドレスを取得しますので、あらかじめAレコードが設定されていることが前提となります
10 xxx.yourdomain.comなどで書くのであればこの10は優先度を意味する
http://help.onamae.com/app/answers/detail/a_id/7889
ドメイン名:onamae.com 例1:「*@onamae.com」というメールアドレス宛のメールを 「mail.onamae.com」というサーバーに配信する場合
postfix & dovecot
- postfix : MTA(mail transfer agent)としてSMTPの役割
- dovecot : POP/IMAP
postfix
http://ascii.jp/elem/000/000/439/439105/
MTAと呼ばれることの多いsendmailやqmail、Postfixなどのメールサーバソフトは、 MDAの機能を内蔵していることが挙げられる。つまり、ローカル配送プログラム(外部MDA)がなくても正しくメールは配送できるわけだ
- MTA (Mail Transfer Agent)
- MDA (Mail Delivery Agent)
外部 MDAを使う理由
ローカル配送にはprocmailやmaildropといった専用のプログラムを指定することも可能だ。 こうした外部のMDAを使うのには理由がある。通常、メールサーバソフト内蔵のMDAはフィルタリング機能を実装していないため、 メールの分類やスパムフィルタといった高度な機能が実現できないのである
User
システムで認識されるユーザの一覧
/etc/passwd
Dovecot
document
メールヘッダの Received フィールドの読み方
http://www.tains.tohoku.ac.jp/news/news-32/0510.html
Received フィールドの読み方
587ポートとは?
http://masuipeo.com/tech/port587.html
HELO
- SMTP ではメールを送る側のホストの名前 (HELO ドメインと呼ぶ) を要求 されます。
- HELO ドメインは rubyの標準libraryでは
Net::SMTP.start, Net::SMTP#start
の第三引数 helo_domain に指定します。
認証
DomainKeys Identified Mail (DKIM)
http://www.dkim.org/#introduction
メールのencoding
BASE64とか、 Quoted-printableがよく使われる
decode
BASE64
エンコード文字列.unpack("m")
Quoted-printable
エンコード文字列.unpack("M")
の方法もあるが、Mail gemを使うのはいい。