3

У меня установлен Redmine 1.4.1 на моем сервере Debian. Файл configuration.yaml содержит следующее

production:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      tls: true
      enable_starttls_auto: true
      address: "smtp.yandex.ru"
      port: 465
      domain: "my.domain.com" 
      authentication: :plain
      user_name: "Username"
      password: "Password"

Когда Redmine пытается отправить письмо, я вижу это в логах nginx

[info] 23788#0: *1 client prematurely closed connection, so upstream connection is closed too while sending request to upstream, client: 37.57.17.197, server: redmine.my.domain.com, request: "GET /admin/test_email HTTP/1.1", upstream: "passenger:unix:/passenger_helper_server:", host: "redmine.my.domain.com", referrer: "http://redmine.my.domain.com/settings"

Я пробовал разные SMTP-серверы, но результаты были одинаковыми.

Я применил эти правила к iptables, но это не помогло ни одному.

 iptables -A INPUT -p tcp --dport 465 -m state --state NEW,ESTABLISHED -j ACCEPT
 iptables -A OUTPUT -p tcp --sport 465 -m state --state ESTABLISHED -j ACCEPT

2 ответа2

0

Для меня изменение tls: true на ssl: true и просто для входа решает проблему:

production:
  email_delivery:
  delivery_method: :smtp
  smtp_settings:
    ssl: true
    enable_starttls_auto: true
    address: "smtp.yandex.ru"
    port: 465
    domain: "my.domain.com" 
    authentication: :login
    user_name: "Username"
    password: "Password"
0

Сначала проверьте, открыт ли порт (при условии, что smtp.yandex.ru является вашим SMTP-сервером):

telnet smtp.yandex.ru 465

Тогда я бы посоветовал вам проверить проблему с помощью tcpdump:

На первом этапе проверьте связь между серверами (при необходимости используйте -i eth0 ):

sudo tcpdump -nl host smtp.yandex.ru and port 465

Затем, если удаленный хост отвечает и существует связь TCP/IP, проверьте фактические данные, полученные с сервера (если вы обнаружите какую-либо ошибку).

sudo tcpdump -nl -s1500 -w- src host smtp.yandex.ru | strings

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .