I installed sendmail with PHP and apache on Ubuntu. When I try the following command-line
php -r "mail('[email protected]', 'test', 'test')"'
it successfully sends the email.
However, running the file "test_send_mail.php" with:
<?php
mail('[email protected]', 'test', 'test')
?>
doesn't send an email.
The unsuccessful attempt with the .php file generates the log entry:
`Jul 5 21:24:47 www sendmail[25603]: p661OlL7025603: from=www-data, size=106, class=0,
nrcpts=0, msgid=<[email protected]>, relay=www-data@localhost
The successful attempt with the command line generates the log entry:
Jul 5 21:22:40 www sm-mta[25533]: p661MevV025533: from=<[email protected]>,
size=352, class=0, nrcpts=1, msgid=<[email protected]>,
proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Does anyone have any idea what might be happening? Thank you for your help!
mail()function is actually fairly limited and quirky. If you're intending on sending email to or for users of your website, you should use a proper library, such as PHPMailer. This gives you things like attachment handling and much better headers support.