I'm having trouble getting my local XAMPP server to send emails via my remote SMTP server.

In PHP, if I put:

$headers  = "From: dan@fromdomain.com\r\n";
mail('dan@todomain.com', 'test', '', $headers);

Then this works. However, if I don't specify the header, ie.:

mail('dan@todomain.com', 'test', '');

Then this fails. The sendmail.log file says:

smtpstatus=554 smtpmsg='554 Message refused.' errormsg='the server did not accept the mail' exitcode=EX_UNAVAILABLE

I've tried changing my sendmail command in my php.ini to:

sendmail_path = "C:/xampp/sendmail/sendmail.exe -t -f dan@fromdomain.com"

but this doesn't work either.

Thanks for any help with this, Dan.

ps. this is on windows.

  • dan, not the solution, but there any reason why you must use sendmail? i'd used to use sendmail , but i find the configuration a bit of headache, try postfix instead. – The Unix Janitor Apr 17 '10 at 11:41

From the PHP mail() documentation:

When sending mail, the mail must contain a From header. This can be set with the additional_headers parameter, or a default can be set in php.ini.

As far as your sendmail command line, I believe the -f directive and the address need to be together. i.e.:


Peace, Tom

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.