I have about 20 RT queues and my users are reporting intermittent
failures with delivery. One example is as follows;
Aug 11 21:32:20 dcmon01 sendmail[8402]: m7BLWJQC008218:
to=“|/opt/rt3/bin/rt-mailgate --debug --queue ‘Operations’ --action
correspond --url http://dcmon01.osti.local/rt/”, ctladdr=<op erations.support@tickets.xxx.net> (8/0), delay=00:00:01,
xdelay=00:00:01, mailer=prog, p
ri=46549, dsn=4.0.0, stat=Deferred: prog mailer (/usr/sbin/smrsh) exited
with EX_TEMPFAIL
A what appears to be, well formed ticket email is sent to my request
alias, and is rejected with EX_TEMPFAIL. (There are further EX_TEMPFAILS
for the same message)
Eventually the exchange server gives up.
However the confusing thing is that with --debug set in the alias
command, I would expect something useful to be logged in either
/opt/rt3/log/rt.log or /var/log/messages
However there is nothing at all in them for the relevant time for the
message and EX_TEMPFAIL time.
According to the rt-mailgate script, there should be something for this;
warn $content if ($opts{debug});
and according to “perldoc warnings”, the function warn should send the
content to STDERR…
“If stdout and stderr are not redirected, they are not printed to the
terminal, and they disappear. However, if a command returns a non-zero
exit status, its output to stderr becomes part of the sendmail error
transcript.”
And the message that is sent back through the relay is;
#< #4.4.7 X-Unix; 75> #SMTP#
So rt-mailgate is sending back exit status 75, its just doesn’t look
like its sending the STDERR, which should at least include stuff like;
I have about 20 RT queues and my users are reporting intermittent
failures with delivery. One example is as follows;
Aug 11 21:32:20 dcmon01 sendmail[8402]: m7BLWJQC008218:
to=“|/opt/rt3/bin/rt-mailgate --debug --queue ‘Operations’ --action
correspond --url http://dcmon01.osti.local/rt/”, ctladdr=<op erations.support@tickets.xxx.net> (8/0), delay=00:00:01,
xdelay=00:00:01, mailer=prog, p
ri=46549, dsn=4.0.0, stat=Deferred: prog mailer (/usr/sbin/smrsh) exited
with EX_TEMPFAIL
A what appears to be, well formed ticket email is sent to my request
alias, and is rejected with EX_TEMPFAIL. (There are further EX_TEMPFAILS
for the same message)
Eventually the exchange server gives up.
However the confusing thing is that with --debug set in the alias
command, I would expect something useful to be logged in either
/opt/rt3/log/rt.log or /var/log/messages
However there is nothing at all in them for the relevant time for the
message and EX_TEMPFAIL time.
According to the rt-mailgate script, there should be something for this;
warn $content if ($opts{debug});
and according to “perldoc warnings”, the function warn should send the
content to STDERR…
By the looks of it the server returns EX_TEMPFAIL if the return content
didn’t include ok|not ok
114: if ( $content !~ /^(ok|not ok)/ ) {
But sendmail is still not including this error text in the bounce mail
to the requestor… which I guess is the part I am confused about.
I’m going to patch rt-mailgate to log that stuff to a local file for the
meanwhile. But I would be keen to understand where the option to do
that is in the sendmail config.