SendEmail.pm line 256 error - permission denied

Hi all,

New install of webrt 3.4.4 from rpm package. All works fine except for
sending email from webrt back to ticket requestors.

We are running:
Linux 2.6.14-1.1637_FC4smp
webrt 3.4.4
sendmail-8.13.4-2
perl 5.8.6
DBIx::SearchBuilder v1.27
Apache/2.0.54
ModPerl::Const v2.000001
mysql 4.1.14

From rt.log
[Fri Dec 2 06:08:36 2005] [info]:
rt-3.4.4-2419-1133503716-1449.13-3-0@cranite.com #13/138 - Scrip 3
(/usr/lib/perl5/vendor_perl/5.8.6/RT/Action/SendEmail.pm:237)
[Fri Dec 2 06:08:36 2005] [crit]:
rt-3.4.4-2419-1133503716-1449.13-3-0@cranite.comCould not send mail.
-Permission denied at
/usr/lib/perl5/vendor_perl/5.8.6/RT/Action/SendEmail.pm line 256.

Stack:
[/usr/lib/perl5/vendor_perl/5.8.6/RT/Action/SendEmail.pm:256]
[/usr/lib/perl5/vendor_perl/5.8.6/RT/Action/SendEmail.pm:102]
[/usr/lib/perl5/vendor_perl/5.8.6/RT/ScripAction_Overlay.pm:241]
[/usr/lib/perl5/vendor_perl/5.8.6/RT/Scrip_Overlay.pm:507]
[/usr/lib/perl5/vendor_perl/5.8.6/RT/Scrips_Overlay.pm:192]
[/usr/lib/perl5/vendor_perl/5.8.6/RT/Transaction_Overlay.pm:170]
[/usr/lib/perl5/vendor_perl/5.8.6/RT/Record.pm:1431]
[/usr/lib/perl5/vendor_perl/5.8.6/RT/Ticket_Overlay.pm:720]
[/usr/lib/perl5/vendor_perl/5.8.6/RT/Interface/Email.pm:751]
[/var/www/rt3/REST/1.0/NoAuth/mail-gateway:58]
(/usr/lib/perl5/vendor_perl/5.8.6/RT/Action/SendEmail.pm:261)
[Fri Dec 2 06:08:36 2005] [info]:
rt-3.4.4-2419-1133503716-1449.13-3-0@cranite.com sent To:
moflo1@hotmail.com Cc: Bcc:
(/usr/lib/perl5/vendor_perl/5.8.6/RT/Action/SendEmail.pm:297)
[Fri Dec 2 06:08:36 2005] [info]:
rt-3.4.4-2419-1133503716-20.13-4-0@cranite.com #13/138 - Scrip 4
(/usr/lib/perl5/vendor_perl/5.8.6/RT/Action/SendEmail.pm:237)
[Fri Dec 2 06:08:36 2005] [info]:
rt-3.4.4-2419-1133503716-20.13-4-0@cranite.com No recipients found. Not
sending.
(/usr/lib/perl5/vendor_perl/5.8.6/RT/Action/SendEmail.pm:249)
[Fri Dec 2 06:08:36 2005] [info]: Ticket 13 created in queue ‘General’ by
moflo1@hotmail.com
(/usr/lib/perl5/vendor_perl/5.8.6/RT/Ticket_Overlay.pm:730)

Line 256 of SendEmail.pm simply calls sendmail with arguments. See below.

254     if ( $RT::MailCommand eq 'sendmailpipe' ) {
255         eval {
256             open( MAIL, "|$RT::SendmailPath $RT::SendmailArguments" 

) || die $!;
257 print MAIL $MIMEObj->as_string;
258 close(MAIL);
259 };
260 if ($@) {
261 $RT::Logger->crit( $msgid . “Could not send mail. -” .
$@ );
262 }

From the RT_SiteConfig.pm

Note that you should remove the ‘-t’ from $SendmailArguments

if you use ‘sendmail’ rather than ‘sendmailpipe’

Set($MailCommand , ‘sendmailpipe’);

$SendmailArguments defines what flags to pass to $Sendmail

assuming you picked ‘sendmail’ or ‘sendmailpipe’ as the $MailCommand

above.

If you picked ‘sendmailpipe’, you MUST add a -t flag to $SendmailArguments

These options are good for most sendmail wrappers and workalikes

#Set($SendmailArguments , “-oi -t”);

These arguments are good for sendmail brand sendmail 8 and newer

Set($SendmailArguments,“-oi -t -ODeliveryMode=b -OErrorMode=m”);

If you selected ‘sendmailpipe’ above, you MUST specify the path

to your sendmail binary in $SendmailPath.

!! If you did not # select ‘sendmailpipe’ above, this has no effect!!

Set($SendmailPath , “/usr/sbin/sendmail”);

Permission on Action .pm files

-rw-r–r-- 1 root root 3556 Jun 1 2005 AutoOpen.pm
-rw-r–r-- 1 root root 3802 Feb 1 2005 Autoreply.pm
-rw-r–r-- 1 root root 39981 May 9 2005 CreateTickets.pm
-rw-r–r-- 1 root root 4998 Jun 7 14:56 EscalatePriority.pm
-rw-r–r-- 1 root root 5267 Jul 12 09:22 Generic.pm
-rw-r–r-- 1 root root 2634 Feb 1 2005 NotifyAsComment.pm
-rw-r–r-- 1 root root 5395 Jun 16 09:39 Notify.pm
-rw-r–r-- 1 root root 3749 Feb 1 2005 RecordComment.pm
-rw-r–r-- 1 root root 3805 Feb 1 2005 RecordCorrespondence.pm
-rw-r–r-- 1 root root 3382 Feb 1 2005 ResolveMembers.pm
-rw-r–r-- 1 root root 25110 Jul 12 09:22 SendEmail.pm
-rw-r–r-- 1 root root 2655 Feb 1 2005 SetPriority.pm
-rw-r–r-- 1 root root 2906 Feb 1 2005 UserDefined.pm

I tried setting SendEmail.pm with -rwx-r-xr-x apache apache but it made no
difference. All other actions work perfectly with above permissions.

Thanks for any insight in advance.

Figured it out.

lrwxrwxrwx 1 root root 21 Nov 18 11:01 /usr/sbin/sendmail ->
/etc/alternatives/mta
lrwxrwxrwx 1 root root 27 Nov 30 17:12 /etc/alternatives/mta ->
/usr/sbin/sendmail.sendmail
-rwxr-sr-x 1 root smmsp 774264 May 6 2005 /usr/sbin/sendmail.sendmail

My RT_SiteConfig.pm was set for /usr/sbin/sendmail.
I changed it to /usr/sbin/sendmail.sendmail and outgoing mail works fine
now. :wink:

Thanks.