Postfix OS X не работает

Вопрос или проблема

Мне нужна помощь с postfix на OSX. Тестирую с помощью этой команды:

echo "тестовое письмо" | mail -s  "тестовое письмо" [email protected]```

Не получается вывести результат в /var/mail/jeff

postfix работает:

sudo postfix status
postfix/postfix-script: почтовая система Postfix работает: PID: 8781

Я также не вижу активности журнала postfix в /var/log/ или через:

 sudo log stream --predicate 'sender == "postfix"'

Мой файл main.cf приведен ниже.

compatibility_level = 2
queue_directory = /private/var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = _postfix
unknown_local_recipient_reject_code = 550
sendmail_path = /usr/sbin/sendmail
newaliases_path = /usr/bin/newaliases
mailq_path = /usr/bin/mailq
setgid_group = _postdrop
html_directory = /usr/share/doc/postfix/html
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix/examples
readme_directory = /usr/share/doc/postfix
message_size_limit = 10485760
mailbox_size_limit = 0
biff = no
inet_interfaces = all
inet_protocols = ipv4
myhostname = m1.lan
mydestination = m1.lan, localhost.localdomain, localhost
myorigin  = m1.lan
relayhost = 
mynetworks = 127.0.0.0/8 192.168.1.0/24 172.18.0.0/16 172.19.0.0/16 172.17.0.0/16
mailbox_size_limit = 0
recipient_delimiter = +
default_transport = smtp
relay_transport = smtp
smtpd_relay_restrictions = permit_mynetworks, reject_unauth_destination
smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination

Тестирование с telnet:

jeff@m1 Desktop $ telnet localhost 25
Попытка ::1...
telnet: соединение с адресом ::1: Соединение отклонено
Попытка 127.0.0.1...
Соединено с localhost.
Символ экранирования '^]'.
220 m1.lan ESMTP Postfix
ehlo localhost
mail from: jeff@localhost
rcpt to: jeff@localhost
data
Тема: Мое первое письмо на Postfix

привет мир
250-m1.lan
250-PIPELINING
250-SIZE 10485760
250-VRFY
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250 SMTPUTF8
250 2.1.0 Ок
250 2.1.5 Ок
354 Завершите данные с <CR><LF>.<CR><LF>

.
250 2.0.0 Ок: поставлено в очередь как 016CF5AB29C7
^]
telnet> выход
Соединение закрыто.
jeff@m1 Desktop $ mailq
Очередь почты пуста

Ответ или решение

Проблемы с Postfix на OS X: Возможные Решения

Введение

Postfix — это популярный механизм передачи почты, который часто используется для обработки почтовых отправлений на серверах и локальных машинах. Если вы столкнулись с проблемами при использовании Postfix на системе OS X, в частности, если ваши тестовые письма не попадают в папку /var/mail/jeff, это может быть вызвано различными факторами. В этом руководстве мы рассмотрим основные шаги для устранения этой проблемы.

Проверка Статуса Postfix

Вы уже подтвердили, что Postfix запущен, используя команду:

sudo postfix status

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

Логи Postfix

Отсутствие логов в каталоге /var/log/ или через команду

sudo log stream --predicate 'sender == "postfix"'

указывает на проблему с логированием. Проверьте, правильно ли заданы пути для логов в файле конфигурации main.cf. По умолчанию логи Postfix могут не записываться в стандартный системный журнал. Для этого добавьте или измените следующую строку в вашем main.cf:

maillog_file = /var/log/mail.log

Затем перезапустите Postfix, чтобы изменения вступили в силу:

sudo postfix reload

Проверка Конфигурации main.cf

Ваш файл конфигурации main.cf выглядит в целом правильно, но есть несколько моментов, которые стоит проверить:

  • mydestination: Убедитесь, что имя хоста, указанное в параметре mydestination, допускает локальные почтовые адреса. Вы уже указали mydestination = m1.lan, localhost.localdomain, localhost.

  • relayhost: Если вы планируете использовать сторонний SMTP-сервер для передачи почты, убедитесь, что вы правильно указали relayhost.

Тестирование с помощью Telnet

Вы провели тестирование с помощью Telnet и получили успешные ответы, что хороший знак. Однако отсутствие обработки отправленных писем указывает на то, что Postfix может не обрабатывать письма должным образом. После выполнения команды telnet, вы получили сообщения о том, что письмо было поставлено в очередь ("250 2.0.0 Ok: queued as 016CF5AB29C7"), но оно не отображается в очереди командой mailq.

Это может указывать на:

  1. Проблемы с доставкой: Письмо не доходит до места назначения, возможно, из-за неправильного указания локального почтового ящика. Убедитесь, что для пользователя jeff корректно настроен почтовый ящик. Проверьте, как настроены локальные почтовые пользователи и файл /etc/aliases.

  2. Проблемы с правами доступа: Убедитесь, что каталоги Postfix имеют правильные права доступа. Почтовые директории, такие как /private/var/spool/postfix, должны быть доступны для пользователя, под которым запускается Postfix.

Альтернативные Проверки

  • Используйте команду postfix check, чтобы проверить конфигурацию на наличие ошибок.

  • Убедитесь, что все необходимые сервисы запущены, например, master:

sudo postfix start

Заключение

Проблема с доставкой почты в Postfix на OS X может быть вызвана различными факторами, включая конфигурационные проблемы, права доступа или проблемы с логированием. Следуя приведенным выше рекомендациям, вы сможете диагностировать и устранить неполадки в работе вашего почтового сервера. Если проблема не устраняется, рекомендую обратиться к официальной документации Postfix или специализированным форумам для дальнейшей помощи.

Оцените материал
Добавить комментарий

Капча загружается...