Я спробував надіслати електронний лист за допомогою mail()
функції php, але це якось не вдалося, поскаржившись, що потрібне справжнє доменне ім’я. У поштовому журналі спостерігається таке:
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], відхилити = 553 5.5.4 ... Реальне доменне ім’я, необхідне для адреси відправника
sendmail 4984 r25984: to=external@server.com, ctladdr = apache (48/48), затримка = 00: 00:01, xdelay = 00: 00: 00, mailer = реле, pri = 30273, реле = [127.0.0.1] [127.0.0.1], dsn = 5.6.0, stat = Помилка формату даних
sendmail 4984 r25984: r25984: DSN: Помилка формату даних
cron може надсилати електронне повідомлення на адресу external@server.com, коли є проблеми з логротатом. Я не впевнений, чому php не може цього зробити. Я спробував внести зміни до конфігурації за замовчуванням у `sendmail.mc із наступним:
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
Але, схоже, це не має ніякого ефекту. Заголовок від адреси у функції php mail вже задано. Я також переконався, що SELinux httpd_can_sendmail
включений. Що ще мені потрібно зробити, щоб доставити пошту?
dnl
перед ними.
mail()
? І, sendmail.mc
це не правильний файл конфігурації, цей файл повинен бути скомпільований з sendmail.cf
використанням m4
.
sendmail.mc
, змінили рядкиlocalhost.localdomain
іlocalhost
щось значуще і склали файл mcsendmail.cf
?