[PHP] mail command failing

2010-06-29 Thread Mike Wright

Hi all,

I'm very puzzled by this.  I've been using the php mail command for 
years but now I can't get it to work and can't figure out how to 
diagnose the problem.


The code below was copied from the manual (addresses changed, etc); 
php.ini has safe_mode off; binary is at /usr/sbin/sendmail.


?php
ini_set(SMTP,localhost );
ini_set('sendmail_from', 'mike.wri...@mailinator.com');

$name = Mike Wright; //senders name
$email = mike.wri...@mailinator.com; //senders e-mail adress
$recipient = mike.wri...@mailinator.com; //recipient
$body = The text for the mail...; //mail body
$subject = Subject for review; //subject
$header = From: $name $email\r\n; //optional headerfields

$echo = mail($recipient, $subject, $body, $header) ? 'success':'fail';
echo br/br/$echo;

I can access the mail server with /usr/bin/mailx and by telnet 
localhost 25.  I can also send mail using php by using 'exec ( echo 
$body | mailx -s $subject $recipient)'.


php-5.2.29 on fedora10 with apache 2.2.14.  Can this be selinux related?

Any ideas or troubleshooting tips?

Thanks,
Mike Wright

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] mail command failing

2010-06-29 Thread Ashley Sheridan
On Tue, 2010-06-29 at 10:00 -0700, Mike Wright wrote:

 Hi all,
 
 I'm very puzzled by this.  I've been using the php mail command for 
 years but now I can't get it to work and can't figure out how to 
 diagnose the problem.
 
 The code below was copied from the manual (addresses changed, etc); 
 php.ini has safe_mode off; binary is at /usr/sbin/sendmail.
 
 ?php
 ini_set(SMTP,localhost );
 ini_set('sendmail_from', 'mike.wri...@mailinator.com');
 
 $name = Mike Wright; //senders name
 $email = mike.wri...@mailinator.com; //senders e-mail adress
 $recipient = mike.wri...@mailinator.com; //recipient
 $body = The text for the mail...; //mail body
 $subject = Subject for review; //subject
 $header = From: $name $email\r\n; //optional headerfields
 
 $echo = mail($recipient, $subject, $body, $header) ? 'success':'fail';
 echo br/br/$echo;
 
 I can access the mail server with /usr/bin/mailx and by telnet 
 localhost 25.  I can also send mail using php by using 'exec ( echo 
 $body | mailx -s $subject $recipient)'.
 
 php-5.2.29 on fedora10 with apache 2.2.14.  Can this be selinux related?
 
 Any ideas or troubleshooting tips?
 
 Thanks,
 Mike Wright
 


The first ini_set variable you're setting I believe will only work for a
Windows server.

Aside from that, yes SELinux does prevent the mail command from sending
mail by default. I'm using Fedora 11, so I assume it will be similar;
there are config tools for setting SELinux policies, or you could even
turn it off (not advised on a live server). As a test, try turning it
off temporarily just to see if it is the culprit, then you can determine
what policy changes need to be made.

Thanks,
Ash
http://www.ashleysheridan.co.uk




Re: [PHP] mail command failing

2010-06-29 Thread Mike Wright

Ashley Sheridan wrote:

On Tue, 2010-06-29 at 10:00 -0700, Mike Wright wrote:


Hi all,

I'm very puzzled by this.  I've been using the php mail command for 
years but now I can't get it to work and can't figure out how to 
diagnose the problem.



php-5.2.29 on fedora10 with apache 2.2.14.  Can this be selinux related?



The first ini_set variable you're setting I believe will only work for a
Windows server.

Aside from that, yes SELinux does prevent the mail command from sending
mail by default. I'm using Fedora 11, so I assume it will be similar;
there are config tools for setting SELinux policies, or you could even
turn it off (not advised on a live server). As a test, try turning it
off temporarily just to see if it is the culprit, then you can determine
what policy changes need to be made.



Thanks, Ash, but no cigar.  Selinux is set disabled.  Absolutely baffled 
and confounded that there doesn't seem to be a way to diagnose the problem.


Mike

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



RE: [PHP] mail command failing

2010-06-29 Thread Bob McConnell
From: Ashley Sheridan

 On Tue, 2010-06-29 at 10:00 -0700, Mike Wright wrote:
 
 Hi all,
 
 I'm very puzzled by this.  I've been using the php mail command for 
 years but now I can't get it to work and can't figure out how to 
 diagnose the problem.
 
 The code below was copied from the manual (addresses changed, etc); 
 php.ini has safe_mode off; binary is at /usr/sbin/sendmail.
 
 ?php
 ini_set(SMTP,localhost );
 ini_set('sendmail_from', 'mike.wri...@mailinator.com');
 
 $name = Mike Wright; //senders name
 $email = mike.wri...@mailinator.com; //senders e-mail adress
 $recipient = mike.wri...@mailinator.com; //recipient
 $body = The text for the mail...; //mail body
 $subject = Subject for review; //subject
 $header = From: $name $email\r\n; //optional headerfields
 
 $echo = mail($recipient, $subject, $body, $header) ?
'success':'fail';
 echo br/br/$echo;
 
 I can access the mail server with /usr/bin/mailx and by telnet 
 localhost 25.  I can also send mail using php by using 'exec (
echo 
 $body | mailx -s $subject $recipient)'.
 
 php-5.2.29 on fedora10 with apache 2.2.14.  Can this be selinux
related?
 
 Any ideas or troubleshooting tips?
 
 
 The first ini_set variable you're setting I believe will
 only work for a Windows server.
 
 Aside from that, yes SELinux does prevent the mail command from
sending
 mail by default. I'm using Fedora 11, so I assume it will be similar;
 there are config tools for setting SELinux policies, or you could even
 turn it off (not advised on a live server). As a test, try turning it
 off temporarily just to see if it is the culprit, then you can
determine
 what policy changes need to be made.

Don't turn it off, set it for Permissive mode. It will both allow the
connection and log why it wouldn't allow it in normal operation. Then
you can review the logs and make the necessary adjustments.

Bob McConnell

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] mail command failing

2010-06-29 Thread Ashley Sheridan
On Tue, 2010-06-29 at 10:27 -0700, Mike Wright wrote:

 Ashley Sheridan wrote:
  On Tue, 2010-06-29 at 10:00 -0700, Mike Wright wrote:
  
  Hi all,
 
  I'm very puzzled by this.  I've been using the php mail command for 
  years but now I can't get it to work and can't figure out how to 
  diagnose the problem.
 
 
  php-5.2.29 on fedora10 with apache 2.2.14.  Can this be selinux related?
 
  
  The first ini_set variable you're setting I believe will only work for a
  Windows server.
  
  Aside from that, yes SELinux does prevent the mail command from sending
  mail by default. I'm using Fedora 11, so I assume it will be similar;
  there are config tools for setting SELinux policies, or you could even
  turn it off (not advised on a live server). As a test, try turning it
  off temporarily just to see if it is the culprit, then you can determine
  what policy changes need to be made.
  
 
 Thanks, Ash, but no cigar.  Selinux is set disabled.  Absolutely baffled 
 and confounded that there doesn't seem to be a way to diagnose the problem.
 
 Mike
 


I can only guess that PHP somehow isn't seeing the sendmail program for
some reason. Have you compared the output of a phpinfo() call on this
system and another where it is working to see if there are any obvious
differences in the server setups?

Thanks,
Ash
http://www.ashleysheridan.co.uk