Setting up Postfix and Apache/PHP on an Ubuntu server. Mail's now going out ok with the proper domain name, but the local part display name is always "www-data" as I'm assuming Postfix uses the name of the user by default.

In the php.ini file, I was able to change the sendmail_path to sendmail_path = "/usr/sbin/sendmail -t -i -f support@example.com" but the email display name still appears as www-data . I tried specifying the display name a few different ways but that was ignored and the mail still went out as www-data.

What I'd like to be able to do is by default, have any mail with missing from, return-path, etc. headers go out as "Example Support" <support@example.com>, but I'm not sure if that's possible.

3 Answers
3

As I understand the question, you're trying to set the full name of the sender, not the address (or, in addition to the address). In general, Postfix doesn't care what that is, and you set it when your MUA (in this case, some php script) generates the message headers. I'm not familiar with coding in php, but it looks like this is explained in the documentation for the PHP mail() function.

But if you're calling out to postfix's sendmail binary to send the message, you can use -F "Support System" to do what you want. Maybe this will have to be in the mail.force_extra_parameters setting — I'm not so clear on how php works here. (Mostly, that's the wrong thing to do anyways.)

This works well, thank you. I usually set the headers properly when sending out through PHP mail(), etc. but wanted to set something as the default in case the headers were incorrect, etc.
–
WuckaChuckaDec 6 '10 at 21:12

Note you can use BOTH the -f and -F options to set display name and address. For example: -F "Support System" -f "support@example.com"
–
LiamFeb 21 '12 at 16:53