Я пытаюсь использовать почтовую функцию PHP для отправки электронной почты на сервер (предполагается, что сервер только отправляет электронные письма и не получает никаких электронных писем). Функция PHP mail возвращает, что электронное письмо было отправлено, однако оно фактически не отправлено. В журнале mail.log я вижу следующую ошибку.
Sep 13 14:32:32 www postfix/master[7851]: terminating on signal 15
Sep 13 14:32:32 www postfix/master[8018]: daemon started -- version 2.9.6, configuration /etc/postfix
Sep 13 14:32:35 www postfix/pickup[8024]: 2FE12E084: uid=33 from=<www-data>
Sep 13 14:32:35 www postfix/cleanup[8041]: 2FE12E084: message-id=<20140913183235.2FE12E084@www.mydomain.com>
Sep 13 14:32:35 www postfix/qmgr[8025]: 2FE12E084: from=<www-data@mydomain.com>, size=1019, nrcpt=1 (queue active)
Sep 13 14:32:35 www postfix/smtp[8043]: warning: relayhost configuration problem
Sep 13 14:32:35 www postfix/smtp[8043]: 2FE12E084: to=<myemail@hotmail.com>, relay=none, delay=0.02, delays=0.01/0.01/0/0, dsn=4.3.5, status=deferred (mail for mydomain.com loops back to myself)
Ниже представлена конфигурация PostFix:
myhostname = www.mydomain.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = $myhostname, localhost.localdomain, , localhost
relayhost = $mydomain
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
myorigin = $mydomain
inet_protocols = all
relay_domains = mydomain.com
Вся необходимая информация содержится в сообщении об ошибке warning: relayhost configuration problem
Вы не можете использовать $mydomain
как ваш ретранслятор. Вы должны ввести ip или fqdn на сервер, который должен ретранслировать всю вашу почту (или оставить параметр relayhost пустым, если у вас нет реле).