Сервер CentOS 7 с postfix, dovecot и mailx должен поддерживать почту, отправляемую через port 465
и получил через port 25
. Какой конкретный синтаксис и файлы необходимо изменить для этого?
Вот мои попытки:
1.) Я добавил 465 inet n - - - - smtpd
к /etc/postfix/master.cf
в следующем разделе:
# Do not forget to execute "postfix reload" after editing this file.
#
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - n - - smtpd
465 inet n - - - - smtpd
2.) Затем я перезапустил postfix, набрав systemctl stop postfix
с последующим systemctl start postfix
а потом systemctl status postfix
.
3.) Затем я назначил порт 25 и порт 465 в брандмауэре службе SMTP. Я протестировал, чтобы подтвердить, что брандмауэр разрешает порт 465, набрав nc my.SERVER.ip.addr 465 < /dev/null
в терминал devbox и увидев, что он ответил, распечатав 220 mydomain.com ESMTP Postfix
. Затем я проверил, что брандмауэр разрешает порт 25 для доступа SMTP, отправив тестовое электронное письмо с другого сервера и увидев, что оно было получено этим сервером, очевидно, через порт 25.
4.) Я подтвердил, что клиент Thunderbird на моем devbox имеет порт 465, установленный для исходящего smtp в учетной записи me@mydomain.com, из которой я пытаюсь отправить электронную почту с сервера, используя мой devbox's Thunderbird client.
5.) Затем я набрал tcpdump -n -i any tcp port 465
в серверном терминале, а также набрал tcpdump -n -i any tcp port 465
в терминале devbox.
6.) Со всеми этими настройками я попытался использовать Thunderbird для отправки тестового письма с me@mydomain.com
к some_other_test_account@someotherdomain.com
. Истекло время ожидания Thunderbird без отправки электронного письма, но следующее tcpdump
был напечатан на терминалах обеих машин.
На СЕРВЕРЕ это привело к:
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes
15:26:40.204817 IP my.SERVER.ip.addr.urd > my.DEVBOX.ip.addr.40555: Flags [S.], seq 1955299233, ack 152228482, win 14480, options [mss 1460,sackOK,TS val 1056230222 ecr 5576928,nop,wscale 7], length 0
15:26:40.293442 IP my.DEVBOX.ip.addr.40555 > my.SERVER.ip.addr.urd: Flags [.], ack 1, win 115, options [nop,nop,TS val 5577014 ecr 1056230222], length 0
15:26:40.293926 IP my.SERVER.ip.addr.urd > my.DEVBOX.ip.addr.40555: Flags [P.], seq 1:43, ack 1, win 114, options [nop,nop,TS val 1056230312 ecr 5577014], length 42
15:26:40.298215 IP my.DEVBOX.ip.addr.40555 > my.SERVER.ip.addr.urd: Flags [F.], seq 1, ack 1, win 115, options [nop,nop,TS val 5577015 ecr 1056230222], length 0
15:26:40.298521 IP my.SERVER.ip.addr.urd > my.DEVBOX.ip.addr.40555: Flags [F.], seq 43, ack 2, win 114, options [nop,nop,TS val 1056230316 ecr 5577015], length 0
15:26:40.384890 IP my.DEVBOX.ip.addr.40555 > my.SERVER.ip.addr.urd: Flags [.], ack 43, win 115, options [nop,nop,TS val 5577104 ecr 1056230312], length 0
15:26:40.389738 IP my.DEVBOX.ip.addr.40555 > my.SERVER.ip.addr.urd: Flags [.], ack 44, win 115, options [nop,nop,TS val 5577113 ecr 1056230316], length 0
15:28:49.598741 IP my.DEVBOX.ip.addr.40557 > my.SERVER.ip.addr.urd: Flags [S], seq 1432245308, win 14600, options [mss 1460,sackOK,TS val 5706324 ecr 0,nop,wscale 7], length 0
15:28:49.598807 IP my.SERVER.ip.addr.urd > my.DEVBOX.ip.addr.40557: Flags [S.], seq 706641072, ack 1432245309, win 14480, options [mss 1460,sackOK,TS val 1056359616 ecr 5706324,nop,wscale 7], length 0
15:28:49.685239 IP my.DEVBOX.ip.addr.40557 > my.SERVER.ip.addr.urd: Flags [.], ack 1, win 115, options [nop,nop,TS val 5706409 ecr 1056359616], length 0
15:28:49.685304 IP my.DEVBOX.ip.addr.40557 > my.SERVER.ip.addr.urd: Flags [P.], seq 1:186, ack 1, win 115, options [nop,nop,TS val 5706409 ecr 1056359616], length 185
15:28:49.685328 IP my.SERVER.ip.addr.urd > my.DEVBOX.ip.addr.40557: Flags [.], ack 186, win 122, options [nop,nop,TS val 1056359703 ecr 5706409], length 0
15:28:49.700806 IP my.SERVER.ip.addr.urd > my.DEVBOX.ip.addr.40557: Flags [P.], seq 1:43, ack 186, win 122, options [nop,nop,TS val 1056359719 ecr 5706409], length 42
15:28:49.783363 IP my.DEVBOX.ip.addr.40557 > my.SERVER.ip.addr.urd: Flags [.], ack 43, win 115, options [nop,nop,TS val 5706510 ecr 1056359719], length 0
15:28:49.783411 IP my.SERVER.ip.addr.urd > my.DEVBOX.ip.addr.40557: Flags [P.], seq 43:154, ack 186, win 122, options [nop,nop,TS val 1056359801 ecr 5706510], length 111
15:28:49.868122 IP my.DEVBOX.ip.addr.40557 > my.SERVER.ip.addr.urd: Flags [.], ack 154, win 115, options [nop,nop,TS val 5706592 ecr 1056359801], length 0
15:30:36.430512 IP my.DEVBOX.ip.addr.40557 > my.SERVER.ip.addr.urd: Flags [F.], seq 186, ack 154, win 115, options [nop,nop,TS val 5813157 ecr 1056359801], length 0
15:30:36.430912 IP my.SERVER.ip.addr.urd > my.DEVBOX.ip.addr.40557: Flags [F.], seq 154, ack 187, win 122, options [nop,nop,TS val 1056466449 ecr 5813157], length 0
15:30:36.513221 IP my.DEVBOX.ip.addr.40557 > my.SERVER.ip.addr.urd: Flags [.], ack 155, win 115, options [nop,nop,TS val 5813243 ecr 1056466449], length 0
^C
19 packets captured
20 packets received by filter
0 packets dropped by kernel
В DEVBOX это привело к:
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes
12:32:00.232924 IP my.SERVER.ip.addr.urd > 10.0.0.2.40557: Flags [S.], seq 706641072, ack 1432245309, win 14480, options [mss 1460,sackOK,TS val 1056359616 ecr 5706324,nop,wscale 7], length 0
12:32:00.232992 IP 10.0.0.2.40557 > my.SERVER.ip.addr.urd: Flags [.], ack 1, win 115, options [nop,nop,TS val 5706409 ecr 1056359616], length 0
12:32:00.233212 IP 10.0.0.2.40557 > my.SERVER.ip.addr.urd: Flags [P.], seq 1:186, ack 1, win 115, options [nop,nop,TS val 5706409 ecr 1056359616], length 185
12:32:00.319025 IP my.SERVER.ip.addr.urd > 10.0.0.2.40557: Flags [.], ack 186, win 122, options [nop,nop,TS val 1056359703 ecr 5706409], length 0
12:32:00.334311 IP my.SERVER.ip.addr.urd > 10.0.0.2.40557: Flags [P.], seq 1:43, ack 186, win 122, options [nop,nop,TS val 1056359719 ecr 5706409], length 42
12:32:00.334359 IP 10.0.0.2.40557 > my.SERVER.ip.addr.urd: Flags [.], ack 43, win 115, options [nop,nop,TS val 5706510 ecr 1056359719], length 0
12:32:00.415529 IP my.SERVER.ip.addr.urd > 10.0.0.2.40557: Flags [P.], seq 43:154, ack 186, win 122, options [nop,nop,TS val 1056359801 ecr 5706510], length 111
12:32:00.415586 IP 10.0.0.2.40557 > my.SERVER.ip.addr.urd: Flags [.], ack 154, win 115, options [nop,nop,TS val 5706592 ecr 1056359801], length 0
12:33:46.981077 IP 10.0.0.2.40557 > my.SERVER.ip.addr.urd: Flags [F.], seq 186, ack 154, win 115, options [nop,nop,TS val 5813157 ecr 1056359801], length 0
12:33:47.066884 IP my.SERVER.ip.addr.urd > 10.0.0.2.40557: Flags [F.], seq 154, ack 187, win 122, options [nop,nop,TS val 1056466449 ecr 5813157], length 0
12:33:47.066946 IP 10.0.0.2.40557 > my.SERVER.ip.addr.urd: Flags [.], ack 155, win 115, options [nop,nop,TS val 5813243 ecr 1056466449], length 0
^C
11 packets captured
12 packets received by filter
0 packets dropped by kernel
Обратите внимание, что первые 7 элементов выходных данных сервера были обнаружены в предыдущем тесте, хотя оба tcpdump -n -i any tcp port 465
команды (сервер и devbox) выполнялись одновременно.
Обратите внимание, что ввод postconf -n
на сервере привело к:
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
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 = all
inet_protocols = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
sample_directory = /usr/share/doc/postfix-2.10.1/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
unknown_local_recipient_reject_code = 550
Кроме того, набрав postconf -M
на сервере приводит к:
smtp inet n - n - - smtpd
465 inet n - - - - smtpd
pickup unix n - n 60 1 pickup
cleanup unix n - n - 0 cleanup
qmgr unix n - n 300 1 qmgr
tlsmgr unix - - n 1000? 1 tlsmgr
rewrite unix - - n - - trivial-rewrite
bounce unix - - n - 0 bounce
defer unix - - n - 0 bounce
trace unix - - n - 0 bounce
verify unix - - n - 1 verify
flush unix n - n 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - n - - smtp
relay unix - - n - - smtp
showq unix n - n - - showq
error unix - - n - - error
retry unix - - n - - error
discard unix - - n - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - n - - lmtp
anvil unix - - n - 1 anvil
scache unix - - n - 1 scache
Содержание /var/log/maillog
в тот период были:
Mar 3 15:22:05 mydomain postfix/postfix-script[8565]: starting the Postfix mail system
Mar 3 15:22:05 mydomain postfix/master[8567]: daemon started -- version 2.10.1, configuration /etc/postfix
Mar 3 15:23:40 mydomain postfix/smtpd[8572]: connect from unknown[my.DEVBOX.ip.addr]
Mar 3 15:25:26 mydomain postfix/smtpd[8572]: lost connection after UNKNOWN from unknown[my.DEVBOX.ip.addr]
Mar 3 15:25:26 mydomain postfix/smtpd[8572]: disconnect from unknown[my.DEVBOX.ip.addr]
Mar 3 15:26:40 mydomain postfix/smtpd[8572]: connect from unknown[my.DEVBOX.ip.addr]
Mar 3 15:26:40 mydomain postfix/smtpd[8572]: lost connection after CONNECT from unknown[my.DEVBOX.ip.addr]
Mar 3 15:26:40 mydomain postfix/smtpd[8572]: disconnect from unknown[my.DEVBOX.ip.addr]
Mar 3 15:28:49 mydomain postfix/smtpd[8578]: connect from unknown[my.DEVBOX.ip.addr]
Mar 3 15:30:36 mydomain postfix/smtpd[8578]: lost connection after UNKNOWN from unknown[my.DEVBOX.ip.addr]
Mar 3 15:30:36 mydomain postfix/smtpd[8578]: disconnect from unknown[my.DEVBOX.ip.addr]
Mar 3 15:33:40 mydomain postfix/anvil[8574]: statistics: max connection rate 1/60s for (465:my.DEVBOX.ip.addr) at Mar 3 15:23:40
Mar 3 15:33:40 mydomain postfix/anvil[8574]: statistics: max connection count 1 for (465:my.DEVBOX.ip.addr) at Mar 3 15:23:40
Mar 3 15:33:40 mydomain postfix/anvil[8574]: statistics: max cache size 1 at Mar 3 15:23:40
Настройки исходящего сервера в Thunderbird:
Description: <Not Specified>
Server Name: mydomain.com
Port: 465
User Name: me
Authentication Method: Normal Password
Connection Security: SSL/TLS
Я интерпретирую это как то, что блокировка находится в постфиксе. Так что мне изменить, чтобы получить постфикс, позволяющий удаленным клиентам отправлять сообщения через port 465
позволяя получать почту с других серверов через port 25
?
РЕДАКТИРОВАТЬ:
Следуя инструкциям в ссылке, предоставленной @sebix, я попробовал следующее:
В /etc/postfix/main.cf
Я раскомментировал следующую строку:
smtpd_tls_security_level = may
В /etc/postfix/master.cf
, Я раскомментировал следующие две строки:
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
Однако, когда я попытался отправить тестовое электронное письмо, Thunderbird ответил следующим диалоговым окном с ошибкой:
Sending of message failed.
The message could not be sent because the connection to SMTP server mydomain.com was
lost in the middle of the transaction. Try again or contact your network administrator.
РЕДАКТИРОВАТЬ # 2
По совету Эсы Йокинена я попробовал следующие несколько команд.
На DEVBOX я набрал telnet mydomain.com 587
и получил в ответ следующее. Обратите внимание, что две строки, в которые я добавил ввод, имеют #
перед ними, хотя не было #
в терминале. Я добавил #
для акцента / ясности:
Trying my.Server.ip.addr...
Connected to mydomain.com.
Escape character is '^]'.
220 mydomain.com ESMTP Postfix
# EHLO mydomain.com
250-mydomain.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
# STARTTLS
454 4.7.0 TLS not available due to local problem
Затем на СЕРВЕРЕ я набрал openssl s_client -host localhost -port 587 -starttls smtp
. Это привело к следующему выводу:
CONNECTED(00000003)
140634999289760:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:769:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 244 bytes and written 284 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
---
На СЕРВЕРЕ я снова набрал postconf -n
и теперь получаем следующий результат:
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
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 = all
inet_protocols = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
sample_directory = /usr/share/doc/postfix-2.10.1/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_cert_file = </etc/pki/dovecot/certs/dovecot.pem
smtpd_tls_key_file = </etc/pki/dovecot/private/dovecot.pem
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
unknown_local_recipient_reject_code = 550
На СЕРВЕРЕ я снова набрал postconf -M
и получил взамен следующее:
smtp inet n - n - - smtpd
587 inet n - - - - smtpd
submission inet n - - - - smtpd
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_sasl_type=dovecot
-o smtpd_sasl_path=private/auth
-o smtpd_sasl_security_options=noanonymous
-o smtpd_sasl_local_domain=$myhostname
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o smtpd_sender_login_maps=hash:/etc/postfix/virtual
-o smtpd_sender_restrictions=reject_sender_login_mismatch
-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
pickup unix n - n 60 1 pickup
cleanup unix n - n - 0 cleanup
qmgr unix n - n 300 1 qmgr
tlsmgr unix - - n 1000? 1 tlsmgr
rewrite unix - - n - - trivial-rewrite
bounce unix - - n - 0 bounce
defer unix - - n - 0 bounce
trace unix - - n - 0 bounce
verify unix - - n - 1 verify
flush unix n - n 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - n - - smtp
relay unix - - n - - smtp
showq unix n - n - - showq
error unix - - n - - error
retry unix - - n - - error
discard unix - - n - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - n - - lmtp
anvil unix - - n - 1 anvil
scache unix - - n - 1 scache
Затем я попытался отправить электронное письмо через сервер с помощью клиента Thunderbird на удаленном devbox. После этого теста набрав nano /var/log/maillog
в СЕРВЕРЕ дает:
Mar 4 11:57:19 mydomain postfix/smtpd[11029]: error: open database /etc/postfix/virtual.db: No such file or directory
Mar 4 11:57:19 mydomain postfix/smtpd[11029]: warning: cannot get RSA certificate from file </etc/pki/dovecot/certs/dovecot.pem: disabling TLS support
Mar 4 11:57:19 mydomain postfix/smtpd[11029]: warning: TLS library problem: 11029:error:02001002:system library:fopen:No such file or directory:bss_file.c:398:fope$
Mar 4 11:57:19 mydomain postfix/smtpd[11029]: warning: TLS library problem: 11029:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:400:
Mar 4 11:57:19 mydomain postfix/smtpd[11029]: warning: TLS library problem: 11029:error:140DC002:SSL routines:SSL_CTX_use_certificate_chain_file:system lib:ssl_rsa$
Mar 4 11:57:19 mydomain postfix/smtpd[11029]: connect from unknown[98.244.12.133]
Mar 4 11:57:20 mydomain postfix/cleanup[11032]: 1FD8680B3BCE: message-id=<20150304165720.1FD8680B3BCE@mydomain.com>
Mar 4 11:57:20 mydomain postfix/qmgr[10139]: 1FD8680B3BCE: from=<double-bounce@mydomain.com>, size=873, nrcpt=1 (queue active)
Mar 4 11:57:20 mydomain postfix/smtpd[11029]: disconnect from unknown[98.244.12.133]
Mar 4 11:57:20 mydomain postfix/local[11034]: 1FD8680B3BCE: to=<root@mydomain.com>, orig_to=<postmaster>, relay=local, delay=0.07, delays=0.04/0.01/0/0.0$
Mar 4 11:57:20 mydomain postfix/qmgr[10139]: 1FD8680B3BCE: removed
Эти показания указывают на то, что проблема связана с сертификатами. Обратите внимание, что я использовал сертификаты, указанные в /etc/dovecot/conf.d/10-ssl.conf
. Я просто вырезал и вставил URL-адреса двух файлов сертификатов / ключей после использования nano, чтобы убедиться, что каждый файл существует и содержит коды шифрования. А также обязательно укажите ключ на ключ и укажите сертификат на сертификат.
Я правильно сделал?
РЕДАКТИРОВАТЬ # 3
Я изменил ссылки URL-адресов ключевых файлов с
smtpd_tls_cert_file = </etc/pki/dovecot/certs/dovecot.pem
smtpd_tls_key_file = </etc/pki/dovecot/private/dovecot.pem
к
smtpd_tls_cert_file = /etc/pki/dovecot/certs/dovecot.pem
smtpd_tls_key_file = /etc/pki/dovecot/private/dovecot.pem
Я также удалил два <
символы в /etc/dovecot/conf.d/10-ssl.conf
. (Те два символа, которые были до начала тестирования.) Затем я набрал sudo nano
чтобы открыть сертификат и ключ, чтобы убедиться, что они доступны в указанных местах, и они были. Затем я попытался отправить еще одно электронное письмо через сервер, используя клиент Thunderbird на моем devbox. Это привело к тому, что Thunderbird попросил меня добавить исключение для неизвестного сертификата. Когда я принял неизвестный сертификат, Thunderbird дал мне диалоговое окно тайм-аута подключения и не смог отправить электронное письмо, в то время как следующее было написано в /var/log/maillog
:
Mar 4 14:08:28 mydomain postfix/postfix-script[11361]: stopping the Postfix mail system
Mar 4 14:08:28 mydomain postfix/master[11293]: terminating on signal 15
Mar 4 14:08:33 mydomain postfix/postfix-script[11444]: starting the Postfix mail system
Mar 4 14:08:33 mydomain postfix/master[11446]: daemon started -- version 2.10.1, configuration /etc/postfix
Mar 4 14:08:44 mydomain postfix/smtpd[11451]: error: open database /etc/postfix/virtual.db: No such file or directory
Mar 4 14:08:44 mydomain postfix/smtpd[11451]: connect from unknown[my.DEVBOX.ip.addr]
Mar 4 14:08:44 mydomain postfix/smtpd[11451]: warning: SASL: Connect to private/auth failed: No such file or directory
Mar 4 14:08:44 mydomain postfix/smtpd[11451]: fatal: no SASL authentication mechanisms
Mar 4 14:08:45 mydomain postfix/master[11446]: warning: process /usr/libexec/postfix/smtpd pid 11451 exit status 1
Mar 4 14:08:45 mydomain postfix/master[11446]: warning: /usr/libexec/postfix/smtpd: bad command startup -- throttling
НОТА:
Удаление <
из </etc/pki/dovecot/certs/dovecot.pem
и </etc/pki/dovecot/private/dovecot.pem
в /etc/dovecot/conf.d/10-ssl.conf
привело к тому, что соединение JavaMail imap из приложения, запущенного на сервере, перестало работать. Но положив <
обратно исправил проблему. Это может относиться к связанной папке.
Похоже, вы не включаете SSL на порт 465 и не используете другие настройки для своего сервера отправки smtp. Это означает, что у вас могут быть те же настройки на порту 465, что и на порту 25. Thunderbird затем пытается установить соединение SMTPS, но отвечает в виде обычного текста. Отправка - это совершенно другая установка, чем простой SMTP, и, безусловно, также требует аутентификации.
Это в master.cf должно обеспечить хорошо защищенную отправку (SMTP с аутентификацией TLS) на порт 587:
submission inet n - - - - smtpd
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_sasl_type=dovecot
-o smtpd_sasl_path=private/auth
-o smtpd_sasl_security_options=noanonymous
-o smtpd_sasl_local_domain=$myhostname
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o smtpd_sender_login_maps=hash:/etc/postfix/virtual
-o smtpd_sender_restrictions=reject_sender_login_mismatch
-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
Если не требуется, просто удалите smtpd_sender_login_maps. Специфические линии Dovecot не совсем специфичны для Dovecot. Вместо этого Postfix использует Dovecot для аутентификации SASL, которую вам действительно стоит настроить.
Для TLS вам также необходимо добавить эти параметры в свой main.cf (и, возможно, заменить snakeoil своим собственным путем к сертификату):
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
С этими модификациями он также может работать на SMTPS (465):
smtps inet n - - - - smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_sasl_type=dovecot
...
Думаю, вам будет полезно продолжить:
http://wiki2.dovecot.org/HowTo/PostfixAndDovecotSASL
https://www.vultr.com/docs/simple-mailserver-postfix-dovecot-sieve-centos-7