Вопрос или проблема
Я пытаюсь использовать порт 587 в roundcubemail, работающем на той же машине, что и мой почтовый сервер, и постоянно получаю эту ошибку:
SMTP ошибка (530): не удалось установить отправителя "X" (5.7.0 Сначала необходимо выдать команду STARTTLS).
Я уже изменил,
smtpd_tls_security_level=encrypt
на
smtpd_tls_security_level=may
и ничего не происходит, и я уже раскомментировал ‘submission’. Это были решения, которые я нашел для устранения этой проблемы, но пока результатов нет.
Main.cf:
http://pastebin.com/aEtC0AJt
Master.cf:
http://pastebin.com/023uu2T8
Технические характеристики системы:
1. Версия PHP 5.6.25
2. Postfix
3. MacOS 10.12
Не знаю, связано ли это, но я не могу войти через IMAP на порту 993.
Я могу использовать только порты 25 и 143 без SSL.
Я не могу отправлять письма внутренне, все письма проходят через почтовый сервер моего провайдера, где находится мой домен электронной почты.
Что касается IMAP, не слушающего на заданном порту: это абсолютно другой сервис. Это может обслуживаться cyrus-imapd, dovecot, courrier, также могут участвовать некоторые прокси для IMAP, такие как nginx и т. д., в зависимости от вашей конфигурации, вероятно, необходимо исправить что-то еще. Дайте нам знать.
Теперь по поводу ошибки must issue a STARTTLS
, согласно вашему main.cf
, у нас есть:
mynetworks = 127.0.0.0/8, [::1]/128
smtpd_client_restrictions = permit_mynetworks permit_sasl_authenticated permit
smtpd_recipient_restrictions = permit_sasl_authenticated
Вам, вероятно, нужно будет добавить permit_mynetworks
к вашим smtpd_recipient_restrictions
. Также убедитесь, что ваш roundcube настроен на подключение по 127.0.0.1
или, возможно, добавьте свой IP-адрес в mynetworks
. Что вы установили в качестве $config['smtp_server']
в файле конфигурации roundcube config.php
?
Ответ или решение
Ошибка SMTP (530) 5.7.0 «Необходимо сначала выполнить команду STARTTLS» сигнализирует о том, что ваш почтовый клиент (в данном случае Roundcube) пытается установить соединение с SMTP-сервером без использования шифрования TLS. Давайте разберем, как решить эту проблему.
-
Проверьте настройки Roundcube:
Убедитесь, что вы правильно настроили Roundcube для использования порта 587 с шифрованием TLS. В файле конфигурацииconfig/config.inc.php
проверьте, что переменная$config['smtp_server']
указана следующим образом:$config['smtp_server'] = 'tls://127.0.0.1:587';
Это должно указать на использование шифрования TLS, подключаясь к локальному SMTP-серверу.
-
Настройки Postfix:
Убедитесь, что конфигурация вашего Postfix корректна и поддерживает STARTTLS. В файлеmain.cf
, убедитесь, что следующие строки присутствуют и правильно настроены:smtpd_tls_cert_file=/path/to/your/cert.pem smtpd_tls_key_file=/path/to/your/key.pem smtpd_tls_security_level=may
Вам необходимо убедиться, что указаны правильные пути к файлам сертификатов. Для порта 587 должен работать
smtpd_tls_security_level=encrypt
, если вы хотите, чтобы все соединения использовали TLS. -
Настройки
master.cf
:
В файлеmaster.cf
проверьте правильность настроек для порта 587. Пример:submission inet n - y - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
Параметр
smtpd_recipient_restrictions
должен включатьpermit_sasl_authenticated
, чтобы разрешить аутентификацию. -
Настройки
mynetworks
:
Убедитесь, что ваш IP-адрес или127.0.0.1
присутствуют в параметрахmynetworks
вашего файлаmain.cf
:mynetworks = 127.0.0.0/8, [::1]/128, YOUR_IP_ADDRESS
-
Проверка IMAP:
Если у вас есть проблемы с IMAP на порту 993, это может быть отдельная проблема, требующая настройки вашего IMAP-сервера (например, Dovecot или Courier). Убедитесь, что IMAP-сервер запущен и настроен на прослушивание правильного порта с поддержкой SSL/TLS. Например, для Dovecot проверьте файл конфигурацииdovecot.conf
на наличие строк, относящихся к SSL:ssl = required ssl_cert = </path/to/your/cert.pem ssl_key = </path/to/your/key.pem
-
Тестирование соединения:
Используйте telnet или openssl для проверки соединения с вашим SMTP-сервером на порту 587:openssl s_client -connect 127.0.0.1:587 -starttls smtp
Это поможет выявить ошибки конфигурации или проблемы с сертификатом.
После внесения всех изменений, перезапустите Postfix и попробуйте снова отправить свою почту через Roundcube. Если все настройки правильные, ошибка 530 должна исчезнуть.