Thanks for your reply. # sestatus -b | grep sendmail get nothing # cat /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted >>>>If you aren't seeing anything on these (both success and failure) i if i try to send email from command line,i do get mail log from /var/log/maillog but no if i try to send from browser. On Sun, Aug 23, 2015 at 10:47 PM, Richard <replies-lists-e7x6-php@xxxxxxxxxxxxxxxxxxxxx> wrote: > The issue is that when you do this through the CLI you are running > as a normal user. When you call this script/page via a browser it's > running as the httpd server. On my centos-6.7, php-5.3.3 (you should > really upgrade) system the latter approach is being blocked by > selinux. > > Did you run the: > > sestatus -b | grep sendmail > > command as suggested earlier? When I do I get: > > httpd_can_sendmail off > > on my centos system, with selinux "enforcing". When I disable > selinux, sending via the browser call to the script works. > > I.e., there are no bugs here -- just a system configuration issue. > > If you aren't seeing anything on these (both success and failure) in > your maillog I suspect that you aren't looking at the correct log. > You need to make certain that you are looking at, and taking actions > on, the correct environment. > > [please **DO NOT** include my email address in your reply. i'm on > the list and get the messages just fine that way.] > > > ------------ Original Message ------------ >> Date: Sunday, August 23, 2015 10:35:35 +0800 >> From: Xinhao Zheng <xinhaozheng@xxxxxxxxx> >> >> yes.reboot with no luck. >> >> one more thing,i run apache as reverse proxy,the frontend is >> nginx.but i think this has nothing to do with mail function. >> >> there is no log in apache error log,neither in /var/log/maillog. >> so any other idea. >> i googled a lot, tweak sendmail config, check the user perm .... >> >> somebody said this may be a bug in php5.3.28? >> >> >> >> >> On Sun, Aug 23, 2015 at 10:19 AM, Xinhao Zheng >> <xinhaozheng@xxxxxxxxx> wrote: >>> # cat /etc/redhat-release >>> CentOS release 6.5 (Final) >>> >>> > < snip > >>> >>> i tried chmod 777 to sendmail with no lucky shot. it seems >>> apache is not allow to send mail. >>> >>> >>> On Sun, Aug 23, 2015 at 9:56 AM, Aziz Saleh <azizsaleh@xxxxxxxxx> >>> wrote: >>>> >>>> >>>> >>>> On Sat, Aug 22, 2015 at 9:53 PM, Xinhao Zheng >>>> <xinhaozheng@xxxxxxxxx> wrote: >>>>> >>>>> i tried that.SElinux is off. >>>>> thanks! >>>>> >>>>> On Sun, Aug 23, 2015 at 9:45 AM, Aziz Saleh >>>>> <azizsaleh@xxxxxxxxx> wrote: >>>>>> >>>>>> >>>>>> >>>>>> On Sat, Aug 22, 2015 at 9:31 PM, Xinhao Zheng >>>>>> <xinhaozheng@xxxxxxxxx> wrote: >>>>>>> >>>>>>> Hello, >>>>>>> >>>>>>> Thanks for help. >>>>>>> >>>>>>> i am sure they share the same config file. >>>>>>> /usr/local/php5.3.28/bin/php --ini shows >>>>>>> /usr/local/php5.3.28/etc/php.ini and phpinfo page show same >>>>>>> config file >>>>>>> >>>>>>> yes,i run same file. >>>>>>> >>>>>>> command line => /usr/local/php5.3.28/bin/php >>>>>>> /path/to/webroot/test_mail.php web browser => >>>>>>> http://IP/test_mail.php >>>>>>> >>>>>>> source code of test_mail.php >>>>>>> >>>>>>> <?php >>>>>>> define('DEBUG_MODE',1); >>>>>>> if (defined('DEBUG_MODE') ) { >>>>>>> error_reporting(E_ALL); >>>>>>> ini_set('display_errors',TRUE); >>>>>>> ini_set('error_log','/tmp/log_php'); >>>>>>> ini_set('log_errors',TRUE); >>>>>>> } >>>>>>> >>>>>>> $message = "Line 1\nLine 2\nLine 3" . date('Y-m-d') . ' unix >>>>>>> timestamp ' . time(); >>>>>>> $message = wordwrap($message, 70); >>>>>>> $ok = mail('mail1@xxxxxxxxx', 'My Subject' . date('Y-m-d') . >>>>>>> ' meeting', $message); >>>>>>> var_dump($ok); >>>>>>> $ok = mail('mail2@xxxxxxxxx', 'My Subject' . date('Y-m-d') . >>>>>>> ' meeting', $message); >>>>>>> var_dump($ok); >>>>>>> >>>>>>> ?> >>>>>>> >>>>>>> On Sun, Aug 23, 2015 at 12:19 AM, Richard < >>>>>>> replies-lists-e7x6-php@xxxxxxxxxxxxxxxxxxxxx> wrote: >>>>>>> >>>>>>> > >>>>>>> > >>>>>>> > > Date: Saturday, August 22, 2015 09:51:45 -0400 >>>>>>> > > From: Aziz Saleh <azizsaleh@xxxxxxxxx> >>>>>>> > > >>>>>>> > > On Sat, Aug 22, 2015 at 5:50 AM, Xinhao Zheng >>>>>>> > > <xinhaozheng@xxxxxxxxx> wrote: >>>>>>> > > >>>>>>> > >> Hello, >>>>>>> > >> >>>>>>> > >> i got a prolem.php mail() function can not send >>>>>>> > >> email from http request(apache),but it work well if >>>>>>> > >> i call it from command line. >>>>>>> > >> >>>>>>> > >> /usr/local/php5.3.28/bin/php test_mail.php >>>>>>> > >> => ok http://ip/test_mail.php => failed. >>>>>>> > >> >>>>>>> > >> i check both apache error log and /var/log/maillog,but >>>>>>> > >> nothing get there. i am running php5.3.28 over apache as >>>>>>> > >> module. with phpinfo and this command, >>>>>>> > >> /usr/local/php5.3.28/bin/php --ini , i am sure they use >>>>>>> > >> same php config file.i also tried to turn off the >>>>>>> > >> iptable,but no lucky shot. >>>>>>> > >> >>>>>>> > >> >>>>>>> > >> >>>>>>> > > Use phpinfo() to confirm they are using the same configs. >>>>>>> > >>>>>>> > Are you accessing the same "test_mail.php" page/code in >>>>>>> > both cases? If so, I really wouldn't expect it to work as >>>>>>> > the environments are totally different. >>>>>>> > >>>>>>> > Show your code. >>>>>>> > >>>>>>> > By the way, if you aren't generating a message (nothing in >>>>>>> > /var/log/maillog) then mucking with iptables will have no >>>>>>> > effect. >>>>>>> > >>>>>>> > >>>>>>> > -- >>>>>>> > PHP General Mailing List (http://www.php.net/) >>>>>>> > To unsubscribe, visit: http://www.php.net/unsub.php >>>>>>> > >>>>>>> > >>>>>> >>>>>> >>>>>> Try running: >>>>>> >>>>>> sestatus -b | grep sendmail >>>>>> >>>>>> from command prompt, you are probably using SELinux and have >>>>>> httpd_can_sendmail set to off, in which case you can send mail >>>>>> via CLI but not Apache. >>>>> >>>>> >>>> >>>> I have ran into issues in the past where if I disabled SELinux, >>>> I had to restart the server for it to take effect, not sure if >>>> it is the same issue on your end, but wouldn't hurt to try if >>>> you haven't. > > ------------ End Original Message ------------ > > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php