J'ai essayé d'envoyer un e-mail à l'aide de la mail()
fonction php , mais cela a échoué, se plaignant qu'un vrai nom de domaine est requis. Ce qui suit est observé dans le maillog:
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], rejeter = 553 5.5.4 ... Nom de domaine réel requis pour l'adresse de l'expéditeur
sendmail 4984 r25984: to=external@server.com, ctladdr = apache (48/48), delay = 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 = Erreur de format de données
sendmail 4984 r25984: r25984: DSN: erreur de format de données
cron peut envoyer un e-mail à external@server.com chaque fois qu'il y a un problème avec logrotate. Je ne sais pas pourquoi php est incapable de le faire. J'ai essayé d'apporter des modifications à la configuration par défaut dans `sendmail.mc avec les éléments suivants:
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
Mais cela ne semble avoir aucun effet. L'en-tête de l'adresse dans la fonction de messagerie php a déjà été défini. J'ai également veillé à ce que SELinux httpd_can_sendmail
soit activé. Que dois-je faire d'autre pour faire livrer le courrier?
dnl
devant elles.
mail()
? Et, ce sendmail.mc
n'est pas le bon fichier de configuration, ce fichier doit être compilé en sendmail.cf
utilisant le m4
.
sendmail.mc
, changé les ligneslocalhost.localdomain
etlocalhost
quelque chose de significatif et compilé le fichier mc ensendmail.cf
?