Postfix で transport_maps に tcp:HostName:Port
を指定すると、 tcp_table
DBからリレー先の情報を取得出来る。
、、、と思っていたがしっくりこないところが2つある。
しっくりこないところ 1
よくわからないエラー。
1
| postfix/trivial-rewrite[1234]: warning: read TCP map reply from 10.0.0.1:12321: unexpected EOF (Operation now in progress)
|
ちゃんとレスポンスを返しているつもりなのだが警告がログに出ている。
レスポンスに何か不足があるのだろうがよくわかっていない。
しっくりこないところ 2
MAIL FROM:
で送ったアドレスについても、look upが走る。
telnetにて以下のようにSMTPとおしゃべりしてみる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| # telnet 10.8.0.25 25 Trying 10.8.0.25... Connected to 10.8.0.25. Escape character is 220 mx-proxy.localdomain ESMTP Postfix EHLO pc.localdomain 250-mx-proxy.localdomain 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-8BITMIME 250-DSN 250 SMTPUTF8 MAIL FROM:<test@example.com> 250 2.1.0 Ok RCPT TO:<not-mail-me@rhykw.net> 250 2.1.5 Ok DATA 354 End data with <CR><LF>.<CR><LF> Subject: hoge From: <test@example.com> To: <not-mail-me@rhykw.net>
This is test. . 250 2.0.0 Ok: queued as 064DD440138 QUIT 221 2.0.0 Bye
|
このとき、tcp_tableあてには以下のような通信が来ている。
1 2 3 4 5 6 7 8 9 10 11
| Client=#<TCPSocket:0x007fd7ef1a2038> >> get *
Client=#<TCPSocket:0x007fd7ef1a1b10> >> get *
Client=#<TCPSocket:0x007fd7ef18be78> >> get test@example.com
Client=#<TCPSocket:0x007fd7ef18b950> >> get not-mail-me@rhykw.net
|
おや、、、 MAIL FROM
のアドレスについてもlook upするのか。。。
transport_maps
に mysql map を書いた時もこんな挙動してるのかなぁ。