I'm trying to set up postfix as a relay for Amazon SES. SES will only allow emails to be sent from particular (verified) email addresses. This part works. Now I need to integrate with PHP.
What I need is to support multiple verified email addresses, e.g. email@example.com, firstname.lastname@example.org. I need postfix to set the
X-Postfix-Sender header to the value of the 'From' header I pass into the mail() call. Unfortunately it sets
X-Postfix-Sender: rfc822; email@example.com instead.
I'm sending emails using:
mail('firstname.lastname@example.org', 'PHP test', 'Test message from PHP at ' . $time, "From: email@example.com");
In the logs I get a refusal from SES: "Diagnostic-Code: smtp; 554 Message rejected: Email address is not verified."
sendmail_path = /usr/sbin/sendmail -t but this doesn't seem to make much difference.
How can I make postfix set the
X-Postfix-Sender header to the value of the 'From' header?
========================== ANSWER ==========================
I can do what I want by using the
additional_parameters option of PHP's mail() method:
mail('firstname.lastname@example.org', 'PHP test', 'Test message from PHP at ' . $time, '', "-f email@example.com");
This passes the '-f' flag and a from address to sendmail.