2015-06-08 5 views
2

Я пытаюсь отправить электронное письмо с nodemailer. Мне уже удалось отправить его с другого хоста, но теперь я хочу отправить электронные письма с другого адреса. Эти версии nodemailer я использую (от моего package.json):Как решить ошибку CERT_UNTRUSTED в nodemailer

"nodemailer": "1.3.4", 
"nodemailer-smtp-transport": "1.0.2", 

Это информация у меня о моем веб-почте:

RoundCube Mail Client Configuration

я создал nodemailer так:

var transport = nodemailer.createTransport(smtpTransport({ 
     host: 'securemail.linevast.de', 
     port: 465, 
     secure: true, 
     auth: { 
      user: '[email protected]', // this is my login name 
      pass: 'mypassword' 
     }, 
     maxConnections: 5, 
     maxMessages: 10 
    })); 

И когда я пытаюсь отправить электронное письмо, появляется следующее сообщение об ошибке.

[Error: certificate not trusted] code: 'CERT_UNTRUSTED'

website проверяется GeoTrust Inc поэтому я считаю, что это вполне заслуживает доверия. Есть ли способ заставить nodemailer доверять сертификату или заставить его отправлять электронную почту, даже если он не доверяет ей?

Благодарим за помощь!

+0

Вы уверены, что вы тот же сертификат в Установленная почтового сервера и веб разъединить? Похоже, нет ... ваш почтовый сервер использует сертификат unsigned по умолчанию. – jmingov

+0

Я не устанавливал эти серверы, просто видел в своем браузере, что веб-сервер имеет сертификат GeoTrust. Служба costumer заявила, что 'securemail.linevast.de' использует доверенный сертификат. Есть ли способ заставить nodemailer игнорировать это предупреждение? –

ответ

4

Да, вы можете сказать, что nodemailer не проверяет доверие сертификатов.

Это вариант:

tls: {rejectUnauthorized: false} 

использовать его на начальном объекте транспорта:

var transporter = nodemailer.createTransport(smtpTransport('SMTP',{ 
     host: 'mail.mailserver.com', 
     port: 587, 
     auth: { 
      user: '[email protected]', 
      pass: 'passwd' 
     },    
     authMethod:'NTLM', 
     secure:false, 
     // here it goes 
     tls: {rejectUnauthorized: false}, 
     debug:true 
    }) 
); 
+0

В любом случае, поскольку у вас есть хороший доступный сертификат, попробуйте получить его на почтовом сервере, установленном с его более безопасного (а не самого сертификата, но прямо сейчас вы доверяете любому сертификату). – jmingov

+0

Благодарим за помощь! Теперь это работает. Я все равно попытаюсь понять проблему с сертификатом, но это временное решение: –

+0

Рад работать. ура – jmingov