Назад | Перейти на главную страницу

Удаление sendmail From: адрес для apache www-data @ localhost отправил PHP mail ()

Я настраиваю сервер Science Fair in a Box, который использует apache2, PHP5 и sendmail (хотя мы удалили sendmail и установили postfix без каких-либо изменений в проблеме), чтобы отправлять участникам их логин / регистрационный номер.

Когда вызывается PHP mail (), он имеет правильно отформатированный адрес FROM:, но поскольку sendmail аутентифицируется и получает его от www-data @ localhost, он удаляет адрес электронной почты и заменяет его на <@>, что приводит к тому, что почта становится отправляется, но фильтруется любым сервером, на который он отправляется.

Вот дословный вывод PHP, который отправляется в PHP mail ():

2018-01-23,1516725176,philosophicaldaemon@gmail.com,webmaster@seab-sciencefair.com,Registration for Kiwanis Southeast Alberta Regional Science Fair,We have received a request for the retrieval of your registration number from this email address.  Please find your existing registration number below Registration Number: 380285

Это отрывок из /var/mail/mail.log:

Jan 23 16:28:36 localhost sendmail[813]: w0NGSaU2000813: Authentication-Warning: seab-sciencefair.com: www-data set sender to @ using -f
Jan 23 16:28:36 localhost sendmail[813]: w0NGSaU2000813: from=@, size=259, class=0, nrcpts=1, msgid=<201801231628.w0NGSaU2000813@seab-sciencefair.com>, relay=www-data@localhost
Jan 23 16:28:36 localhost sm-mta[814]: w0NGSasq000814: from=<>, size=575, class=0, nrcpts=1, msgid=<201801231628.w0NGSaU2000813@seab-sciencefair.com>, proto=ESMTP, daemon=MTA-v4, relay=ip6-localhost [127.0.0.1]
Jan 23 16:28:36 localhost sendmail[813]: w0NGSaU2000813: to=philosophicaldaemon@gmail.com, delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30259, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (w0NGSasq000814 Message accepted for delivery)
Jan 23 16:28:36 localhost sm-mta[816]: STARTTLS=client, relay=gmail-smtp-in.l.google.com., version=TLSv1/SSLv3, verify=FAIL, cipher=ECDHE-RSA-AES128-GCM-SHA256, bits=128/128
Jan 23 16:28:37 localhost sm-mta[816]: w0NGSasq000814: to=<philosophicaldaemon@gmail.com>, delay=00:00:01, xdelay=00:00:01, mailer=esmtp, pri=120575, relay=gmail-smtp-in.l.google.com. [74.125.202.26], dsn=2.0.0, stat=Sent (OK 1516724916 i8si684450iof.207 - gsmtp)

Раньше мы отправляли почту из командной строки, поэтому sendmail может отправлять.

Он отправляет почту, но FROM: необходимо изменить. Поэтому я интерпретирую это либо как проблему конфигурации, либо как проблему псевдонима apache2.

Я заметил, что этот сервер расположен в digitalocean, это проблема с облачной конфигурацией?

Что мне попробовать дальше? Какое программное обеспечение является вероятным виновником?

Взгляните на третий пример https://secure.php.net/manual/en/function.mail.php :

<?php mail('nobody@example.com', 'the subject', 'the message', null, '-fwebmaster@example.com');?>

В -f вариант - это то, что вам нужно для установки значения От. Один "@" не годится, возможно, ваши настройки в php.ini не правильные?

Но также обратите внимание, что sendmail может решить сбросить это значение и поместить туда что-то еще, в зависимости от своих собственных настроек, обычно при занесении предупреждения в журналы.