Tentei enviar um email usando a mail()
função php , mas ela falhou de alguma forma, reclamando que um nome de domínio real é necessário. O seguinte é observado no maillog:
sendmail 4984 r25984: from = apache, tamanho = 273, class = 0, nrcpts = 1, msgid = <[email protected]>, relay = apache @ localhost
sendmail 4985 r25985: ruleset = check_mail, arg1 =, relay = mydomain.com [127.0.0.1], rejeitar = 553 5.5.4 ... Nome de domínio real necessário para o endereço do remetente
sendmail 4984 r25984: [email protected], ctladdr = apache (48/48), atraso = 00: 00:01, xdelay = 00: 00: 00, mailer = retransmissão, pri = 30273, retransmissão = [127.0.0.1] [127.0.0.1], dsn = 5.6.0, stat = erro no formato de dados
sendmail 4984 r25984: r25984: DSN: erro de formato de dados
O cron pode enviar email para [email protected] sempre que houver um problema com o logrotate. Não sei por que o php é incapaz de fazê-lo. Tentei fazer alterações na configuração padrão no `sendmail.mc com o seguinte:
MASQUERADE_AS(`mydomain.com')dnl
FEATURE(masquerade_envelope)dnl
FEATURE(masquerade_entire_domain)dnl
MASQUERADE_DOMAIN(localhost)dnl
MASQUERADE_DOMAIN(localhost.localdomain)dnl
MASQUERADE_DOMAIN(mycom)dnl
Mas, parece não ter nenhum efeito. O cabeçalho do endereço na função php mail já foi definido. Também assegurei que o SELinux estivesse httpd_can_sendmail
ativado. O que mais preciso fazer para receber a correspondência?
fonte
sendmail.mc
, mudou as linhaslocalhost.localdomain
elocalhost
para algo significativo e compilou o arquivo mcsendmail.cf
?dnl
na frente delas.mail()
? E,sendmail.mc
não é o arquivo de configuração adequado, esse arquivo deve ser compiladosendmail.cf
usando om4
.Respostas:
Eu acho que acabei de resolver. Eu tenho o seguinte em / etc / hosts :
O que eu preciso é colocar myserver.com na frente da linha
localhost.localdomain
para que o sendmail pense que está usando um domínio real para enviar o email.fonte
/etc/hosts
(com um "s"), além disso: boa resposta!Você precisa configurar, em seus scripts, os cabeçalhos do seu email
From: [email protected]
.fonte
No seu
sendmail.mc
add:Recompile
sendmail.cf
, reinicie o sendmail e você deve estar bemfonte
No meu caso, no Ubuntu 16.04 em uma instância da AWS, era necessário adicionar
/etc/mail/sendmail.mc
:em uma linha anterior à
MAILER_DEFINITIONS
linha no final do arquivo E adicione a mesma linha ao final de/etc/mail/submit.mc
. Em seguida, digitesudo su
permissões de root e compile para configurar com:... então
exit
sudo. Por fim,sudo service sendmail restart
para reiniciar o sendmail, e a partir daí os emails foram exibidos como enviados pelo nome do domínio. Nenhum dos outros comandos FEATURE ou MASQUERADE foi necessário, nem uma entrada no/etc/hosts
arquivo.fonte