Eu configurei o Postfix na minha máquina Ubuntu + Nginx para enviar mensagens e estou trabalhando em um problema.
O problema é que o nome do remetente é www-data
com o email [email protected]
.
Como esse é um formulário "enviar para um amigo", o nome do usuário deve ser $_POST['sendername']
, então o e-mail é enviado e exibido como proveniente do usuário remetente e do e-mail e não pode ser codificado em /etc/postfix/main.cf
ou qualquer outro lugar, pois é dinâmico nesse sentido, conforme descrito acima.
Mesmo testando o cabeçalho "de" para um valor codificado como você pode ver onde comentei, ele ainda não aparece como o do nome e do e-mail.
Alguma ideia? Obrigado.
$to = $_POST['recipientemail'];
$subject = $_POST['subject'];
//$headers = "From: Me <[email protected]>\r\n";
$headers = "From: " . $_POST['sendername'] . " <" . $_POST['senderemail'] . ">\r\n";
$headers.= "Reply-To: " . $_POST['sendername'] . " <" . $_POST['senderemail'] . ">\r\n";
$headers = "To: " . $_POST['recipientname'] . " <" . $_POST['recipientemail'] . ">\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$headers .= "X-Mailer: PHP/" . phpversion();
$message = '<html><body>';
$message .= $_POST['message'];;
$message .= "</body></html>";
mail($to, $subject, $message, $headers);
/etc/postfix/main.cf
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = static:myuser:mypass
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = encrypt
header_size_limit = 4096000
relayhost = [smtp.sendgrid.net]:587
postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
header_size_limit = 4096000
inet_interfaces = all
mailbox_size_limit = 0
mydestination = ip-123-45-67-890.ap-southeast-2.compute.internal, localhost.ap-southeast-2.compute.internal, , localhost
myhostname = ip-123-45-67-890.ap-southeast-2.compute.internal
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relayhost = [smtp.sendgrid.net]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = static:myuser:mypass
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = encrypt
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes