Я использую функцию PHP mail()
, используя PostFix, на CentOS6, Plesk 10.4, и моя электронная почта не доставляется на определенный адрес. Мои личные адреса электронной почты GMail и Yahoo получают почту с моего сервера нормально и не выдают ошибок. После замечательного предложения здесь, я проверил свои почтовые журналы, и вот какую ошибку я вижу :
Apr 10 10:26:29 ######### postfix/qmgr[8323]: 19EA21827: from=
<my.valid.email@myserver.com>, size=645, nrcpt=1 (queue active)
Apr 10 10:26:29 ######### postfix-local[8331]: postfix-local:
from=my.valid.email@myserver.com, to=name@company.com,
dirname=/var/qmail/mailnames
Apr 10 10:26:29 ######### postfix-local[8331]:
cannot chdir to mailname dir name: No such file or directory
Apr 10 10:26:29 ######### postfix-local[8331]:
Unknown user: name@company.com
Apr 10 10:26:29 ######### postfix/pipe[8330]: 19EA21827:
to=<name@company.com>, relay=plesk_virtual, delay=0.15, delays=0.11/0/0/0.04,
dsn=2.0.0, status=sent (delivered via plesk_virtual service)
Apr 10 10:26:29 ######### postfix/qmgr[8323]: 19EA21827: removed
my.valid.email@myserver.com
это имя, которое я объявил в php.ini
для
sendmail_from = "my.valid.email@myserver.com"
sendmail_path = "/usr/sbin/sendmail -t -f my.valid.email@myserver.com"
а получателем должен быть name@company.com
.
Это ошибка на моей стороне или получателей? Могу ли я решить эту проблему на своем сервере?
Большое спасибо SF.
Я обнаружил, что это ошибка из-за PLESK (и пользователя), и, поскольку по ней не так много документации, я думаю, что этот пост стоит сохранить.
Потому что У меня был домен vhost адреса электронной почты, на который я отправлял, установленный в PLESK, он пытался вернуться к локальному поиску Postfix, когда распознал конец адреса электронной почты как нечто, что, по его мнению, было размещено на самом сервере.
В файле конфигурации PostFix здесь есть документация по исправлению ошибок.
Я ценю все старания.
Параметр iburst
быстро выполняет несколько проверок сразу после запуска демона и всякий раз, когда сервер недоступен, если это указано в вашей конфигурации. Параметр burst
быстро выполняет несколько проверок всякий раз, когда сервер доступен.
По умолчанию ntpd
затем следует экспоненциальной отсрочке, при которой время между проверками постепенно увеличивается, начиная с 64 секунд и удваиваясь каждый раз максимум до 1024 секунд.
Параметр maxpoll
позволяет вам установить максимальное значение выше или ниже. Это значение представляет собой степень 2 в секундах между проверками, поэтому для 1024 секунд maxpoll
равно 10. Существует также minpoll
, который по умолчанию равен 6 и может быть уменьшен до 4.
from=my.valid.email@myserver.com , to=name@company.com ,
dirname = / var / qmail / mailnames 10 апреля, 10:26:29 #########
postfix-local [8331]: невозможно chdir на mailname dir name: нет такого файла
или каталог 10 апр, 10:26:29 ######### postfix-local [8331]: Неизвестно
user: name@company.com
Вопреки тому, что вы думаете, это не журналы постфикса.
Postfix ставит перед всеми сообщениями журнала префикс postfix /
- никогда postfix-
У меня тоже был этот вопрос. Любая электронная почта, отправляемая на домен моей компании, отправлялась локально. Это (я верю) потому что в Plesk (да, это проблема Plesk).
Так что в основном это идет о soandso@company.com - зарегистрированный пользователь позволяет отправлять любые электронные письма @company.com локально или что-то в этом роде.
В любом случае, мне пришлось исправить это дважды, и я сделал это, отредактировав файл /etc/postfix/main.cf и прокомментировав строки, начинающиеся с "virtual".
Смотрите http://www.rcneil.com/postfix-local-loop-in-plesk/ для получения инструкций по исправлению проблемы
.