How do I send email from PHP scripts?

This page is showing a generic answer.
To see a more detailed answer customized for you, type your domain name here:

You can send email from PHP scripts (as long as you follow our anti-spam policies, described below).

When you use PHP to send email, you can specify the “bounce” (“Return-Path”) address to make sure that undeliverable messages are sent where you expect. See our page explaining the “Return-Path” for more information.

If you want to specify a bounce address, your script should use "-f" (where “something” is the address you want to use, of course) as the fifth parameter to PHP’s mail() function. Here’s one example of doing that:

$from_address = "";
mail ($to, $subject, $body, "From: $from_address", "-f $from_address");

Doing this makes sure that “bounces” go to the correct address. The address must end with your domain name to be accepted by our mail servers.

The PHP mail() function documentation has more details explaining the various mail() parameters.

What if I don’t specify a bounce address?

If you don’t specify a bounce address at all, the message will still be delivered.

However, the bounce address will default to a special address that forwards to the administrative contact address we have on file for your account), and some recipients may see notices like “via” in their mail headers.

If you can’t change your script, you can set a different default sending address based on your own domain name.

E-mail script policies

We do have some restrictions on the type of email that can be sent from scripts on the server.

First of all, please read our spam policy and make sure your messages don’t violate it.

Once you’ve read that, it’s okay to send email from a script without asking for any further permission as long as the script can only send messages back to you (for example, the results of feedback forms), and your script meets this requirement:

  • All messages sent must have an “envelope sender” address (aka “return address”, “bounce address” or “Return-Path”) that ends with your domain name. We don’t allow scripts to send messages with return addresses of domain names not hosted with us, such as,, etc.

To prevent strangers from abusing your script to send spam or harass others, you do have to ask our prior permission before using scripts that can send email to other people. Our additional requirements for giving permission are:

To get approval for a script that sends email to other people, just upload it to your website and contact us by ticket or email telling us the name of the script and asking for permission to use it. If you are using a mailing list you have already compiled, please provide details of how you confirmed the subscription for each existing recipient address (for example, by sending us the date and IP address used to confirm each subscription request).