Estou tentando configurar e-mail com imagem postfix e msmtp do php. O envio de e-mails da linha de comando funciona do contêiner do wordpress para o postfix usando msmtp (estou usando o docker compose, mas acho que não está relacionado). Mas em php não funciona.
O log do Postfix mostra isso:
Feb 14 12:00:09 36a1774df087 postfix/smtpd[141]: connect from volume_wordpress_1.volume_default[172.23.0.4]
Feb 14 12:00:09 36a1774df087 postfix/smtpd[141]: warning: Illegal address syntax from volume_wordpress_1.volume_default[172.23.0.4] in MAIL command: <[email protected]>
Feb 14 12:00:09 36a1774df087 postfix/smtpd[141]: disconnect from volume_wordpress_1.volume_default[172.23.0.4]
Feb 14 12:03:29 36a1774df087 postfix/anvil[143]: statistics: max connection rate 1/60s for (smtp:172.23.0.4) at Feb 14 11:58:44
Feb 14 12:03:29 36a1774df087 postfix/anvil[143]: statistics: max connection count 1 for (smtp:172.23.0.4) at Feb 14 11:58:44
Feb 14 12:03:29 36a1774df087 postfix/anvil[143]: statistics: max cache size 1 at Feb 14 11:58:44
php configuração fica assim:
sendmail_path = "/usr/bin/msmtp -C /etc/msmtprc -t -i"
O mesmo comando funciona quando eu o executo a partir do terminal. Mas do php mostra o erro acima.
Preciso alterar [email protected] (é o endereço da máquina pública da intranet, wordpress é o nome do serviço em docker-compose.yml)? Como eu posso fazer isso?
Eu encontrei o problema em resposta a esta pergunta no StackOveflow Enviar e-mail através do terminal usando msmtp funciona bem, mas não funciona com php mail()
O problema era a permissão do arquivo para /etc/msmtprc que era de propriedade do root, executando:
corrigiu o problema