Change the From: email address in PHP mail()

by on January 3, 2007 · 13 comments· LAST UPDATED January 3, 2007


Q. How do I change the email address in PHP mail() function?

A. The php mail() function allows you to send email.

mail() syntax:
bool mail ( string to, string subject, string message [, string additional_headers [, string additional_parameters]] )

=> to: Receiver, or receivers of the mail.

=> subject: Subject of the email to be sent.

=> message: Message to be sent.

=> additional_headers: String to be inserted at the end of the email header.
This is typically used to add extra headers (From, Cc, and Bcc). Multiple extra headers should be separated with a CRLF (\r\n).

string additional_headers is use to specify From: email address in PHP. Generally you write mail() as follows:

$message = "This is a test";
mail('', 'Subject', $message);

If you would like to add From : email address

Use code as follows:

$to      = '';
$subject = 'Subject';
$message = 'This is a test';
$headers = 'From:' . "\r\n" .
   'Reply-To:' . "\r\n" .
   'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);


Tweet itFacebook itG+ itDownload PDF versionFound an error/typo on this page?

{ 13 comments… read them below or add one }

1 bob January 3, 2009 at 5:37 pm

Is there anyway to solve it in HOTMAIL..

FROM user@hostname on behalf of email address


2 Jab December 14, 2011 at 7:42 pm

ini_set(‘sendmail_from’, ‘’);
if you own the server…or you’ll have to play in the php.ini/call your server/host manager.


3 Nuwan February 12, 2009 at 11:45 am

This was useful,
Thank you so much,
Keep up good works!


4 Paolo July 2, 2009 at 1:32 pm

Thanks for sharing. Great script. :)


5 Dave C November 3, 2009 at 8:09 pm

Great script! Thank you!


6 Adrenaline Films June 9, 2011 at 3:10 pm

I’m having a heck of a time with bluehost. No matter how I alter the php and/or php.ini, my ‘from’ can’t be changed. Any ideas?


7 Amit October 7, 2011 at 4:46 am

if i want to provide the text box for to and from mail ids to the users then what i will do for sending mail from id to To id. I have tried it but i am only able to send mail to the same domain email id’s not all domain email id’s.


8 mr.lecoqsportif September 25, 2012 at 11:15 am

I have been looking for a simple example and wasted hours and hours.
my problem is sending email as follow:
From www-data@servername. and all the mails go to junk .

However, this one sort it nicely as follow:
From and does not goes to junk.



9 Credevator October 11, 2012 at 4:14 am

Helpful script,


10 Joy Antony November 22, 2012 at 2:26 pm

Great one! Thank you.


11 enrique May 10, 2013 at 8:50 am

works! thanks


12 Imo Douglas September 21, 2013 at 11:48 am

Thanks alot. Works perfectly.


13 Sim Simma April 8, 2014 at 2:13 pm

Good help ;) Much appreciated.


Leave a Comment

Tagged as:

Previous Faq:

Next Faq: