Я настроил почтовый сервер, используя это руководство: https://www.ostechnix.com/setup-mail-server-using-postfixdovecotsquirrelmail-in-centosrhelscientific-linux-6-3-step-by-step/
Webmail позволяет отправлять электронные письма между собственными пользователями, т.е. на локальной машине и на другие серверы, такие как gmail. Но он не может получать электронные письма из внешнего мира. Вот что у меня есть в /etc/postfix/main.cf:
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
compatibility_level = 2
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
home_mailbox = Maildir/
html_directory = no
inet_interfaces = localhost
inet_protocols = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
meta_directory = /etc/postfix
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mydomain = domain.com
myhostname = mail.domain.com
mynetworks = 192.168.0.0/24, 127.0.0.0/8, [::1]/128
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix/README_FILES
sample_directory = /usr/share/doc/postfix/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
shlib_directory = /usr/lib64/postfix
unknown_local_recipient_reject_code = 550
Mydomain и myhostname поддельные. Также наш провайдер не должен блокировать входящие SMTP-соединения на 25-м порту, но мы должны дважды проверить это в ближайшее время. Пожалуйста, посоветуйте!
Обновление 14/11/2017:
Еще раз включил службу firewalld и открыл указанные порты. Теперь эта ошибка появляется при попытке отправить письмо на squirrelmail:
Connection refused 111 Can't open SMTP stream.
Директива:
inet_interfaces = localhost
ограничивает Postfix получением почты на локальном хосте. Попробуйте установить для него значение
inet_interfaces = all
, чтобы также принимать входящие соединения из Интернета.
(И вместо того, чтобы полностью отключать брандмауэр, как в этом рецепте, откройте TCP-порт 25 (SMTP), 143 (IMAP) и 80/443) (HTTP / HTTPS) в брандмауэре и оставьте его включенным.)