У меня есть небольшой сценарий:
$to = 'atsome@gmail.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: Admin <admin@mysite.com>' . "\r\n" .
'Reply-To: admin@mysite.com' . "\r\n" ;
mail($to, $subject, $message, $headers, "-fadmin@mysite.com");
И он отлично работает, когда я отправляю на адрес gmail / yahoo / outlook / w.e с этим журналом:
Jun 2 18:18:27 beast postfix/pickup[5947]: 2E93F4060261: uid=1060 from=<admin@mysite.com>
Jun 2 18:18:27 beast postfix/cleanup[8944]: 2E93F4060261: message-id=<20160602151827.random@myhostname>
Jun 2 18:18:27 beast postfix/qmgr[46425]: 2E93F4060261: from=<admin@mysite.com>, size=364, nrcpt=1 (queue active)
Jun 2 18:18:27 beast postfix/smtp[10480]: connect to gmail-smtp-in.l.google.com[2a00:1450:4013:c01::1a]:25: Network is unreachable
Jun 2 18:18:27 beast postfix/smtp[10480]: 2E93F4060261: to=<atsome@gmail.com>, relay=gmail-smtp-in.l.google.com[74.125.136.27]:25, delay=0.3, delays=0.01/0/0.06/0.23, dsn=2.0.0, status=sent (250 2.0.0 OK 1464880687 uk6si1260730wjc.239 - gsmtp)
Jun 2 18:18:27 beast postfix/qmgr[46425]: 2E93F4060261: removed
Но если я попытаюсь отправить электронное письмо на свой сайт (например, вместо atsome@gmail.com
я использую test@mysite.com
Я не получаю письма, но получаю следующий журнал:
Jun 2 18:19:54 beast postfix/pickup[5947]: C208C4060261: uid=1060 from=<admin@mysite.com>
Jun 2 18:19:54 beast postfix/cleanup[8944]: C208C4060261: message-id=<20160602151954.random@myhostname>
Jun 2 18:19:54 beast postfix/qmgr[46425]: C208C4060261: from=<admin@mysite.com>, size=366, nrcpt=1 (queue active)
Jun 2 18:19:56 beast postfix/local[10994]: C208C4060261: to=<test.mysite@myhostname>, orig_to=<test@mysite.com>, relay=local, delay=2.1, delays=0.02/0/0/2, dsn=2.0.0, status=sent (delivered to command: /usr/bin/procmail-wrapper -o -a $DOMAIN -d $LOGNAME)
Jun 2 18:19:56 beast postfix/qmgr[46425]: C208C4060261: removed
Есть идеи, что я делаю неправильно?
Какое имя хоста у сервера, на котором запущен этот скрипт, и какое имя хоста вашего почтового сервера (если другое)? Если они относятся к одному домену, но на самом деле это два разных сервера, то, скорее всего, Postfix «думает», что электронная почта, отправляемая на доменное имя, должна быть доставлена локально - и поэтому игнорирует записи MX и делает именно это.
Это могло бы объяснить, почему электронные письма фактически не покидают поле.
(В ваших журналах указано, что электронное письмо доставляется локально).