I have a small script which im using to test PHP mail(), as below:
<?php error_reporting(E_ALL); ini_set("display_errors",1); mail('[email protected]','test','test') or die('could not send') ; echo "Mail Sent"; ?>
When I run this script I get no output at all. I don’t get an error, I dont get anything echoed, I view the source, nothing.
Ive tried so many different variations, if I take out the mail function in the code above it will work fine.
This is a Windows hosted server so I have not access to php.ini or anything
Could it be some configuration that is causing no output when its encountering an error?
According to the PHP Runtime Configuration guide:
set at runtime (with
won’t have any affect if the script
has fatal errors. This is because the
desired runtime action does not get
Your code appears to have a syntax error (
'test, is missing a closing apostrophe). Thus, your program is encountering a fatal error. The only way to get a fatal error to display (EDIT: outside the error log) is to set
display_errors = 1 in your
The problem is with your sendmail server configuration. If youre testing this script on your personal development environment, don’t worry about it. It can be a pita to setup/configure a sendmail server. If you’re having this problem on your production server, the simpliest solution is to use a mailer library that has an smtp option (allowi g your email to be sent to an external smtp server for processing/delivery).
Here is a guide on using a 3rd party smtp mail script…