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_sendmailsoit activé. Que dois-je faire d'autre pour faire livrer le courrier?
dnldevant elles.
mail()? Et, ce sendmail.mcn'est pas le bon fichier de configuration, ce fichier doit être compilé en sendmail.cfutilisant le m4.
sendmail.mc, changé les ligneslocalhost.localdomainetlocalhostquelque chose de significatif et compilé le fichier mc ensendmail.cf?