Ho provato a inviare un'e-mail utilizzando la mail()
funzione php ma non è riuscito in qualche modo, lamentandomi che è richiesto un nome di dominio reale. Nel maillog si osserva quanto segue:
sendmail 4984 r25984: from = apache, size = 273, class = 0, nrcpts = 1, msgid = <201.r25@localhost.localdomain>, relay = apache @ localhost
sendmail 4985 r25985: ruleset = check_mail, arg1 =, relay = mydomain.com [127.0.0.1], rifiuto = 553 5.5.4 ... Nome di dominio reale richiesto per l'indirizzo del mittente
sendmail 4984 r25984: to=external@server.com, ctladdr = apache (48/48), ritardo = 00: 00:01, xdelay = 00: 00: 00, mailer = relay, pri = 30273, relay = [127.0.0.1] [127.0.0.1], dsn = 5.6.0, stat = Errore formato dati
sendmail 4984 r25984: r25984: DSN: errore formato dati
cron è in grado di inviare e-mail a external@server.com ogni volta che si verifica un problema con logrotate. Non sono sicuro del motivo per cui php non è in grado di farlo. Ho provato ad apportare modifiche alla configurazione predefinita in `sendmail.mc con il seguente:
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
Ma non sembra avere alcun effetto. L'intestazione dell'indirizzo nella funzione di posta php è già stata impostata. Ho anche assicurato che SELinux httpd_can_sendmail
è abilitato. Cos'altro devo fare per ricevere la posta?
dnl
di fronte.
mail()
? E, sendmail.mc
non è il file di configurazione corretto, questo file deve essere compilato sendmail.cf
usando m4
.
sendmail.mc
, cambiato le righelocalhost.localdomain
elocalhost
in qualcosa di significativo e compilato il file mc insendmail.cf
?