[Greylist-users] My incoming mail is relay, not smtp
Evan Harris
eharris at puremagic.com
Fri Nov 21 12:11:22 PST 2003
The reason I restricted it to *smtp and local only is because I didn't want
to step on special mailers where I don't know the semantics or how they are
being used. Specifically in mind was uucp.
Evan
On Fri, 21 Nov 2003, Tim Freeman wrote:
> >The value of the {mail_mailer} is whatever the name of the mailer that
> >sendmail says is being used for delivery (as defined in your sendmail.cf).
> >Normally, this is smtp or esmtp.
>
> I think it's the mailer that would be used to send a bounce message
> back to the alleged sender.
>
> Their meanings are documented in the "Sendmail Installation and
> Operation Guide", which is /usr/share/doc/sendmail/op/op.txt.gz on my
> Debian system, and that file says:
>
> ${mail_mailer}
> The mailer from the resolved triple of the
> address given for the SMTP MAIL command. Defined
> in the SMTP server only.
>
> ${rcpt_mailer}
> The mailer from the resolved triple of the
> address given for the SMTP RCPT command. Defined
> in the SMTP server only after a RCPT command.
>
> $r Protocol used to receive the message. Set from
> the -p command line flag or by the SMTP server
> code.
>
> RFC 821 says RCPT identifies the recipient and MAIL identifies the
> sender. (I'm not being pedantic; I had to look it up myself just
> now.)
>
> You might want "r" instead of "{mail_mailer}". Unfortunately, "r" is
> not propagated by default from sendmail to the milter, so I also need
> to put this in my sendmail.mc:
>
> define(`confMILTER_MACROS_ENVRCPT', ``{rcpt_mailer}, {rcpt_host}, {rcpt_addr}, r'')
>
> I did this right before my MAILER(local) line, and now I get a value
> for "r" in relaydelay.pl. The value for "r" appears to always be
> ESMTP or SMTP on my machine, even when I do "mail tim at localhost".
>
> Is there a way for me to reproduce the situation where the mail wasn't
> sent by SMTP and it's therefore important for relaydelay not to
> tempfail it?
>
> >My guess is that because you have a smarthost defined, sendmail is picking
> >the relay mailer because it would normally "relay" all mail to the
> >smarthost, and not because it thinks the sending mail host is a relay.
>
> You're right. If I take out the smarthost declaration, then
> mail_mailer for mail from outside is esmtp instead of relay. Note
> that this is changing the *outgoing* mailer that would be used for a
> bounce message, but the comment on line 614 of relaydelay.pl says
> we're trying to pay attention to the *incoming* mailer that was used
> to give us the mail:
>
> # Only do our processing if the inbound mailer is an smtp variant.
>
> These will be different in exactly the situation I'm in, where
> incoming mail comes through a different path from outgoing.
>
> >The change you made would be required for anyone who isn't using the
> >standard smtp or esmtp mailers (or isn't using the standard names for those
> >mailers). It should not cause any problems for you.
>
> I agree that things are working fine for me right now. I'm poking at
> this because I want to understand it.
>
> --
> Tim Freeman tim at fungible.com
> GPG public key fingerprint ECDF 46F8 3B80 BB9E 575D 7180 76DF FE00 34B1 5C78
> Your levity is good. It relieves tension and fear of death. -- Terminator 3
>
More information about the Greylist-users
mailing list