Logo address

メールの送信方法の切り替え

目次

質問

直接に相手に送ってみて、拒否されたらプロバイダの 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