Ошибка SMTP (530) 5.7.0 Сначала необходимо выполнить команду STARTTLS.

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

Я пытаюсь использовать порт 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. Давайте разберем, как решить эту проблему.

  1. Проверьте настройки Roundcube:
    Убедитесь, что вы правильно настроили Roundcube для использования порта 587 с шифрованием TLS. В файле конфигурации config/config.inc.php проверьте, что переменная $config['smtp_server'] указана следующим образом:

    $config['smtp_server'] = 'tls://127.0.0.1:587';

    Это должно указать на использование шифрования TLS, подключаясь к локальному SMTP-серверу.

  2. Настройки 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.

  3. Настройки 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, чтобы разрешить аутентификацию.

  4. Настройки mynetworks:
    Убедитесь, что ваш IP-адрес или 127.0.0.1 присутствуют в параметрах mynetworks вашего файла main.cf:

    mynetworks = 127.0.0.0/8, [::1]/128, YOUR_IP_ADDRESS
  5. Проверка 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
  6. Тестирование соединения:
    Используйте telnet или openssl для проверки соединения с вашим SMTP-сервером на порту 587:

    openssl s_client -connect 127.0.0.1:587 -starttls smtp

    Это поможет выявить ошибки конфигурации или проблемы с сертификатом.

После внесения всех изменений, перезапустите Postfix и попробуйте снова отправить свою почту через Roundcube. Если все настройки правильные, ошибка 530 должна исчезнуть.

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

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