≡ Menu

Change the From: email address in PHP mail()

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('user@domain.com', 'Subject', $message);

If you would like to add From : email address

Use code as follows:

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


{ 14 comments… add one }

  • bob January 3, 2009, 5:37 pm

    Is there anyway to solve it in HOTMAIL..

    FROM user@hostname on behalf of email address

    • Jab December 14, 2011, 7:42 pm

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

  • Nuwan February 12, 2009, 11:45 am

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

  • Paolo July 2, 2009, 1:32 pm

    Thanks for sharing. Great script. :)

  • Dave C November 3, 2009, 8:09 pm

    Great script! Thank you!

  • Adrenaline Films June 9, 2011, 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?

  • Amit October 7, 2011, 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.

  • mr.lecoqsportif September 25, 2012, 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 abcd@alpherbet.com and does not goes to junk.


  • Credevator October 11, 2012, 4:14 am

    Helpful script,

  • Joy Antony November 22, 2012, 2:26 pm

    Great one! Thank you.

  • enrique May 10, 2013, 8:50 am

    works! thanks

  • Imo Douglas September 21, 2013, 11:48 am

    Thanks alot. Works perfectly.

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

    Good help ;) Much appreciated.

  • Ankit April 4, 2015, 12:09 pm

    I am new to web development. i want to send mails to different email id’s. Like i am working on a matrimonial site there user can send mails to their matches. But in my case emails are going to a particular email address for a particular user.

Leave a Comment

   Tagged with: