メールの送信方法の切り替え
目次
質問
直接に相手に送ってみて、拒否されたらプロバイダの smtp サーバーを経由して送信するやりかたをとれないか?From: rrplan9@tombob.com Subject: [9fans] how to deal with mail delivery problems Date: 2004年11月20日 0:20:56:JST To: 9fans@cse.psu.edu Reply-To: 9fans@cse.psu.edu Hi, increasingly over the last couple of weeks, I am becoming a victim of "we don't accept mail from that IP address, go away" mail servers. This is due to vast swathes of IP addresses given out by ISPs being blacklisted. Now, the usual approach to fix this is to use the ISPs smtp server. Unfortunately, these beasts (at least for my ISP, but I hear for others as well) appear to be under constant attack and go up and down like yo-yos. This leaves you with quite an unreliable service. Just as an example, if I send email directly from my Plan 9 box at home to my work address, it takes under a second, but going via my ISPs smtp server takes anywhere from 30 seconds to 3 days. So, I can also pay for some other forwarding service, which hopefully results in more stable conditions. My question is this: Is it possible to come up with a mail configuration that will first attempt to deliver directly, and only if that fails will it attempt to use an external smtp server (and inform me of that somehow)? I am vaguely guessing that there is a problem here, in that I can't be sure that any acceptance of a message by an external entity will actually result in a reliable delivery of the message to the end recipient. If that is the case, would I be best of by shopping for a reliable smtp service and use that exclusively (even if it is on the other side of the planet)? Apologies for only being tangentially on topic for Plan 9. Robby
Russ Cox の回答
次のように変更すれば可能である。From: russcox@gmail.com Subject: Re: [9fans] how to deal with mail delivery problems Date: 2004年11月20日 0:47:16:JST To: 9fans@cse.psu.edu Reply-To: russcox@gmail.com, 9fans@cse.psu.edu If you change the last part of the line in your /mail/lib/rewrite to | "/mail/lib/qmail '\s' 'net!\1'" "'\1!\2'" and then change the last line of /mail/lib/remotemail to say: if(upas/smtp -h $fd $addr $sender $*) exit 0 exec upas/smtp -h $fd net!your.gate.way $sender $* then I think you'll get the behavior you describe. Whether it's useful is of course another matter altogether. Russ