08/04/07 15:49:37
最初に失敗したときのホストに配送するのであれば、
DNS の設定をミスしたら修正されるまでのメールは100%届かないことになる。
343:名無しさん@お腹いっぱい。
08/04/07 16:30:57
>>342
その文章、意味が2通りにとれるよ。
変に反語的な言い方をせずに、ストレートに言った方が誤解がない。
344:名無しさん@お腹いっぱい。
08/04/07 16:32:56
>>343
一通りしか思いつかんかった、二通り書いてみてくれ。
345:名無しさん@お腹いっぱい。
08/04/07 16:38:47
(1)
もし、最初に配送失敗したときのホストにしか配送しないのだと仮定すると、
DNSの設定をミスしたら修正されるまでのメールは100%届かないことになってしまう。
(だから実際にはMXを引き直す)
(2)
一度配送失敗したホストに配送するのなら、
DNSの設定をミスしたら修正されるまでのメールは100%届かない。
346:名無しさん@お腹いっぱい。
08/04/08 02:04:42
レスどうもありがとうございます。
>>340 の 4.で最初のメールのリモート配送に失敗して再送キューに入っても、
キューでは、宛先:hoge.example.jp としか管理されておらず、
2回目にキューからリモート配送を試みるときに、もう一度 example.com の
DNS の MX を引きなおすということですね。
なので、MTA が1週間ぐらいリトライする間に、DNS の MX レコードをきれいにしたり、
MX に設定されている MTA をきちんと動くように修正しておけば、メールは最後まで配送される、と。
何でこういうことを聞いているかというと、
自分のプロバイダの MTA がちょっと変で、(本物は preference が 20 と 10 になっています)
example.com preference = 20, mail exchanger = mail2.example.com
example.com preference = 10, mail exchanger = mail1.example.com
mail2.example.com:25 には外部から接続できないのですが、
mail1.example.com:25 には接続できます。
このプロバイダ宛に、ある転送サービス(>>340 のhoge@example.jp に該当)からの
メール転送が届かなくなったのですが、
転送サービス外のところから直接プロバイダ宛にメールを送ると
(mail1.example.com は生きているので)きちんと届きます。
なので2つの MX を処理できない転送サービスの MTA に問題があるのではと考えました。
はじめはプロバイダに聞いてみようと思いましたが、まずは転送サービスのほうに聞いてみます。
長文すみません。どうもありがとうございました。
347:名無しさん@お腹いっぱい。
08/04/09 01:27:47
>>341
MTAのソース読んでもgetaddrinfo(3)を呼ぶ以上のことはわからんと思われ。
getaddrinfo(3)のソースを読むのもいいが,その前にバッタ本でも読んでおく方が簡単かつ効率的と思われ。
>>340
それって実はMTAじゃなくてDNSに関する質問で,example.com のTTLが過ぎていればもう一度引くし,そうでなければキャッシュを使うと思われ。
特別な設定がしてないのであれば,example.com の SOA レコードを引いてみれば,デフォルトのTTLがわかるんじゃね?
あと,Preferenceは小さい方が優先するので
>example.com preference = 20, mail exchanger = mail2.example.com
>example.com preference = 10, mail exchanger = mail1.example.com
だったら mail1.example.com への接続が最初に試みられるべき。
…やっぱり転送サービス側の問題な気がする。
348:名無しさん@お腹いっぱい。
08/04/09 03:06:22
>>347
いつ getaddrinfo() するかわかればそれでいいんじゃね。