1. bluehost knowledge base

Scripted Emails Appear to Come from: username@myserver

Problem:

Why do scripted e-mails come from my box when I have specified otherwise?

Solution:

This is because our servers require you (or your script) to use a properly formatted, valid From: field in the email's header. If the From: field is not formatted correctly, empty or the email address does not exist in the cPanel, the From: address will be changed to your box.

You must change the script you are using to correctly use a valid From: header.

Examples of headers that should work would be:

From: user@domain.com will work
From: "user" <user@domain.com>

Examples of headers that will NOT work:
 
From: "user@domain.com"
From: user @ domain.com
From: user@domain.com <user@domain.com>

Our servers will not accept the name for the email address and the email address to be the same. It will not accept a double declaration of the email address.

If you do not want to edit your PHP based scripts, you can modify the sendmail_path line located in your php.ini. You would want to modify it like this:

sendmail_path = /usr/sbin/sendmail -t -i -f'user@domain.com'

The part that you will be adding is: -f'user@domain.com'

This method works because the php mail function calls sendmail (a program on the server) directly using the path defined in your php.ini. Placing the -f flag here allows us to work directly with sendmail without PHP getting in the way. Passing a "From" header to the php mail function will override the -f flag set in your php.ini.

For scripts such as Joomla and WordPress, you will need to follow their documentation for formatting the from fields properly.

Note: The email address you use must be a valid created account in the cPanel.