2016-09-26 5 views
0

Получения haraka ошибки сервера электронной почты при попытке использовать в качестве исходящего только:haraka сервер SMTP: Ошибка: не удалось получить эмитент сертификат

[TLS] обеспечено: Шифр ​​= ECDHE-RSA-AES128-GCM-SHA256 версии = TLSv1/SSLv3 проверено = ложная ошибка = «ошибка: не удалось получить сертификат эмитента»

... весь журнал сервера для этой отправки электронной почты попытка

[NOTICE] [06F7A5F3-E976-404E-8629-CAB3771964E9] [core] connect ip=111.222.333.444 port=55152 local_ip=:: local_port=587 
[DEBUG] [06F7A5F3-E976-404E-8629-CAB3771964E9] [core] running connect_init hooks 
[DEBUG] [06F7A5F3-E976-404E-8629-CAB3771964E9] [core] running connect_init_respond 
[DEBUG] [06F7A5F3-E976-404E-8629-CAB3771964E9] [core] running lookup_rdns hooks 
[DEBUG] [06F7A5F3-E976-404E-8629-CAB3771964E9] [core] running connect hooks 
[PROTOCOL] [06F7A5F3-E976-404E-8629-CAB3771964E9] [core] S: 220 mydomain.com ESMTP Haraka 2.8.8 ready 
[PROTOCOL] [06F7A5F3-E976-404E-8629-CAB3771964E9] [core] C: EHLO mydomain.com state=1 
[DEBUG] [06F7A5F3-E976-404E-8629-CAB3771964E9] [core] running ehlo hooks 
[DEBUG] [06F7A5F3-E976-404E-8629-CAB3771964E9] [core] running capabilities hooks 
[DEBUG] [06F7A5F3-E976-404E-8629-CAB3771964E9] [core] running capabilities hook in tls plugin 
[DEBUG] [06F7A5F3-E976-404E-8629-CAB3771964E9] [core] hook=capabilities plugin=tls function=tls_capabilities params="" retval=CONT msg="" 
[DEBUG] [06F7A5F3-E976-404E-8629-CAB3771964E9] [core] running capabilities hook in auth/flat_file plugin 
[DEBUG] [06F7A5F3-E976-404E-8629-CAB3771964E9] [auth/flat_file] Auth disabled for insecure public connection 
[DEBUG] [06F7A5F3-E976-404E-8629-CAB3771964E9] [core] hook=capabilities plugin=auth/flat_file function=hook_capabilities params="" retval=CONT msg="" 
[PROTOCOL] [06F7A5F3-E976-404E-8629-CAB3771964E9] [core] S: 250-mydomain.com Hello mydomain.com [111.222.333.444], Haraka is at your service. 
[PROTOCOL] [06F7A5F3-E976-404E-8629-CAB3771964E9] [core] S: 250-PIPELINING 
[PROTOCOL] [06F7A5F3-E976-404E-8629-CAB3771964E9] [core] S: 250-8BITMIME 
[PROTOCOL] [06F7A5F3-E976-404E-8629-CAB3771964E9] [core] S: 250-SIZE 0 
[PROTOCOL] [06F7A5F3-E976-404E-8629-CAB3771964E9] [core] S: 250 STARTTLS 
[PROTOCOL] [06F7A5F3-E976-404E-8629-CAB3771964E9] [core] C: STARTTLS state=1 
[DEBUG] [06F7A5F3-E976-404E-8629-CAB3771964E9] [core] running unrecognized_command hooks 
[DEBUG] [06F7A5F3-E976-404E-8629-CAB3771964E9] [core] running unrecognized_command hook in tls plugin 
[PROTOCOL] [06F7A5F3-E976-404E-8629-CAB3771964E9] [core] S: 220 Go ahead. 
[DEBUG] [-] [core] Upgrading to TLS 
[DEBUG] [-] [core] TLS secured. 
[INFO] [06F7A5F3-E976-404E-8629-CAB3771964E9] [tls] secured: cipher=ECDHE-RSA-AES128-GCM-SHA256 version=TLSv1/SSLv3 verified=false error="Error: unable to get issuer certificate" 
[INFO] [06F7A5F3-E976-404E-8629-CAB3771964E9] [core] hook=unrecognized_command plugin=tls function=tls_unrecognized_command params="STARTTLS" retval=OK msg="" 
[INFO] [06F7A5F3-E976-404E-8629-CAB3771964E9] [core] client [111.222.333.444] dropped connection 
[DEBUG] [06F7A5F3-E976-404E-8629-CAB3771964E9] [core] running disconnect hooks 
[DEBUG] [06F7A5F3-E976-404E-8629-CAB3771964E9] [core] running disconnect hook in tls plugin 
[DEBUG] [06F7A5F3-E976-404E-8629-CAB3771964E9] [core] hook=disconnect plugin=tls function=hook_disconnect params="" retval=CONT msg="" 
[NOTICE] [06F7A5F3-E976-404E-8629-CAB3771964E9] [core] disconnect ip=111.222.333.444 rdns="mydomain.com" helo="" relay=N early=N esmtp=Y tls=Y pipe=N errors=0 txns=0 rcpts=0/0/0 msgs=0/0/0 bytes=0 lr="" time=0.06 

здесь весь код nodejs клиент для отправки исходящей почты

// https://github.com/nodemailer/nodemailer 

var nodemailer = require('nodemailer'); 

var transporter = nodemailer.createTransport('smtp://myloginid:[email protected]:587'); 

var mailOptions = { 
    host: 'mydomain.com', 
    port: 587, 
    from: '[email protected]', // sender address 
    to: '[email protected]', // list of receivers 
    subject: 'Hello', 
    text: 'Hello world', 
    debug: true, 
    auth: { 
     user: 'myloginid', 
     pass: 'mypassword' 
    } 
}; 

// send mail with defined transport object 
transporter.sendMail(mailOptions, function(error, info){ 
    if(error){ 
     return console.log(error); 
    } 
    console.log('Message sent: ' + info.response); 
}); 

узел --version v6.6.0

Я использую сертификаты TLS, сгенерированные из учебника по

https://letsecure.me/secure-web-deployment-with-lets-encrypt-and-nginx/

вот четыре CERT файлы

cert.pem цепи. pem fullchain.pem privkey.pem

Я использовал два из этих файлов сертификата TLS для hara ка

cp /etc/letsencrypt/live/${FRESH_DOMAIN}/privkey.pem ${HARAKA_HOME}/config/tls_key.pem 
cp /etc/letsencrypt/live/${FRESH_DOMAIN}/cert.pem ${HARAKA_HOME}/config/tls_cert.pem 

Вот ошибки

клиент nodemailer ошибка журнала

Error: unable to verify the first certificate at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:416:38) code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE' } 

haraka:

[INFO] [06F7A5F3-E976-404E-8629-CAB3771964E9] [tls] secured: cipher=ECDHE-RSA-AES128-GCM-SHA256 version=TLSv1/SSLv3 verified=false error="Error: unable to get issuer certificate" 

Любые предложения?

PS. Как ни странно это в настоящее время работает нормально, если я использую swaks отправить электронную почту, даже если выше nodejs клиент электронной почты не удается

swaks -f [email protected] -t [email protected] -s localhost -p 587 -au myloginid -ap mypassword 

ответ

0

Выбора letsencrypt CERT файлов TLS, которые я использовал выше работу для других серверов электронной почты, как постфикс ... еще haraka вместо хочет файловой fullchain.pem

неправильно один ранее использовали: cert.pem

правильный TLS сертификат: fullchain.pem

Это изменение файла исправлена ​​ошибка TLS так Haraka теперь посылает исходящую почту ОК с выше nodejs клиент Колорадо de