Guy Hulbert wrote:
On Thu, 2008-02-14 at 10:22 -0500, Chris Lewis wrote:
Using FQDN in, say, "helo" isn't an unfortunate linux novelty, it's a
requirement by RFC821/2821.
RFC821/2821 do not say anything about the hostname command, afiak.
That's a bit of a non-sequitor. Of course it doesn't. What hostname
returns has no relevance to RFC821/2821 _except_ if you try to use
hostname where RFC821/2821 _requires_ FQDNs.
I think you misunderstand the problem. Let me try again:
If no config/me file exists, config(me) returns `hostname`. That's
probably not the best thing on OSes like Solaris, but I'm willing to put
up with it because I know how difficult it is getting FQDNs portably.
BUT, here's the rub: even if you try to work around that by setting
config/me to the FQDN, config(me) still returns `hostname`. This
implies to me a bug in qpsmtpd's config handling.
Why does it matter? Many places in qpsmtpd refer to config(me). Eg,
generating received lines, generating logfile lines etc.
And this:
queue/smtp-forwarder fragment
my $smtp = Net::SMTP->new(
$self->{_smtp_server},
Port => $self->{_smtp_port},
Timeout => 60,
Hello => $self->qp->config("me"),
) || die $!;
On Solaris, that produces non-RFC2821 compliant email even if config/me
is set to the FQDN. config(me) ignores config/me. That is a qpsmtpd bug.