Назад | Перейти на главную страницу

Ошибка отправки Postfix: необходимо выполнить команду STARTTLS

Запуск Ubuntu 12.04 и попытка настроить postfix для ретрансляции отправки и получения через GMAIL. У меня проблемы с подключением, особенно с TLS. Пробовали кучу решений по устранению неполадок и изменили мой main.cf для адресации TLS, но по-прежнему получаете следующие ошибки.

Пробовали устранять проблемы с подключением:

      `root@mailservice:/etc/postfix# openssl s_client -connect localhost:587 -starttls smtp`

и я исправляю эти ошибки

    `connect: Connection refused'
     'connect:errno=111`

в логах вижу:

       Jun 11 13:54:31 mailservice postfix/smtp[3765]: warning: cannot get RSA certificate
       from file /etc/postfix/cert.pem: disabling TLS support

       Jun 11 13:54:31 mailservice postfix/smtp[3765]: warning: TLS library problem: 
       3765:error:0906D06C:PEM routines:PEM_read_bio:no start    
       line:pem_lib.c:696:Expecting: TRUSTED CERTIFICATE:

       Jun 11 13:54:31 mailservice postfix/smtp[3765]: warning: TLS library problem:   
       3765:error:140DC009:SSL routines:SSL_CTX_use_certificate_chain_file:PEM    
       lib:ssl_rsa.c:729:

       Jun 11 13:54:31 mailservice postfix/smtp[3765]: 9986B6846A: to=
       <mary.cutrali@gmail.com>, relay=smtp.gmail.com[173.194.77.109]:587, delay=0.15, 
       delays=0.02/0.02/0.09/0.02, dsn=5.7.0, status=bounced (host 
       smtp.gmail.com[173.194.77.109] said: 530 5.7.0 Must issue a STARTTLS command first.  
       hd9sm12170509obc.6 (in reply to MAIL FROM command))

Содержимое моего main.cf (относящееся к TLS) выглядит так:

     #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_tls_session_cache_database = btree:${data_directory}/smtpd_scache
     smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

     #TLS Settings 
     smtp_use_tls = yes 
     smtp_tls_security_level = may 
     smtp_tls_loglevel = 1
     smtp_enforce_tls = yes 
     smtp_tls_CAfile = /etc/postfix/cacert.pem
     smtp_tls_cert_file = /etc/postfix/cert.pem 
     smtp_tls_key_file = $smtp_tls_cert_file 
     smtp_tls_session_cache_dataabase = btree:/var/run/smtp_tls_session_cache 
     smtp_tls_note_starttls_offer = yes 
     smtpd_use_tls = yes 
     smtpd_tls_security)level = may 
     smtpd_tls_auth_only = no 
     smtpd_tls_CAfile = /etc/postfix/cacert.pem
     smtpd_tls_cert_file = /etc/postfix/cert.pem
     smtpd_tls_key_file = /etc/postfix/key.pem
     smtpd_tls_received_header = yes 
     smtpd_tls_session_cache_database = btree:/var/run/smtpd_tls_session_cache 
     smtpd_tls_session_cache_timeout = 3600s 
     tls_random_source = dev:/dev/urandom

Насколько я могу судить, все в порядке для правильного соединения TLS, и я не уверен, что нужно изменить в main.cf или в другом месте для отправки почты.

Из: http://www.postfix.org/TLS_README.html ...

Журнал активности TLS на стороне сервера ...

Используйте уровень журнала 3 только в случае возникновения проблем.

Больше...

Чтобы получить дополнительную информацию об активности TLS SMTP-сервера Postfix, вы можете увеличить уровень журнала с 0 до 4. Каждый уровень ведения журнала также включает информацию, которая регистрируется на более низком уровне ведения журнала.

Уровень Postfix 2.9 и выше Ранние выпуски.

  • 0 Регистрировать только итоговое сообщение о завершении установления связи TLS - без регистрации ошибок проверки цепочки доверия сертификатов клиента, если проверка сертификата клиента не требуется. Отключите ведение журнала активности TLS.
  • 1 Также регистрируйте ошибки проверки цепочки доверия и сводную информацию о сертификате однорангового узла. Также регистрируйте информацию о подтверждении TLS и сертификате.
  • 2 Также регистрируются уровни во время согласования TLS.
  • 3 Также регистрируйте шестнадцатеричный и ASCII дамп процесса согласования TLS.
  • 4 Также после STARTTLS зарегистрируйте дамп в шестнадцатеричном формате и ASCII полной передачи.

Используйте уровень журнала 3 только в случае возникновения проблем. Настоятельно не рекомендуется использовать уровень журнала 4.

Postix утверждает, что у него нет доступа к сертификатам. Они не создаются и не хранятся с слишком ограниченными разрешениями.

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

postconf mail_owner

После этого вы должны предоставить этому пользователю доступ ко всем ключам / сертификатам, упомянутым в вашем файле конфигурации.

Например, мои ключи выглядят так:

-r--r-----  1 postfix  cyrus   668  4 Apr 13:17 somehost.pk