2017-04-18 1 views
0

je veux envoyer tom e-mail de mon application à l'aide nodemailer, mon code ressemble à ceci:Erreur: Nom d'hôte/IP ne correspond pas aux altnames de certificat node.js

var smtpTransport = nodemailer.createTransport(smtpTransport({ 
      pool: true, 
     host: 'smtp.myemailserver.com', 
     port: 587, 
     auth: { 
      user: '[email protected]', 
      pass: '******' 
     } 
})); 
var mailOptions = { 
    from: '[email protected]', 
    to: '[email protected]', 
    subject: 'test ', 
    text: 'Hello world ', 
    html: '<b>Hello world </b>' 
    }; 

smtpTransport.sendMail(mailOptions, function(error, info){ 
    if(error){ 
     console.log(error); 
    }else{ 
    console.log('Message sent: ' + info.response); 
    } 
}); 

mais j'obtiens l'erreur que je ne peux pas à comprendre:

[Error: Hostname/IP doesn't match certificate's altnames: "Host: smtp.myemailserver.com. is not in the cert's altnames: DNS:secure.emailsrvr.com, DNS:www.secure.myemailserver.com"] 
     reason: 'Host: smtp.myemailserverr.com. is not in the cert\'s altnames: DNS:secure.myemailserver.com, DNS:www.myemailserver.com', 
     host: 'smtp.myemailserver.com.', 
     cert: 
     { subject: { OU: [Object], CN: 'secure.myemailserver.com' }, 
     issuer: 
      { C: 'GB', 
      ST: 'Greater Manchester', 
      L: 'Salford', 
      O: 'COMODO CA Limited', 
      CN: 'COMODO RSA Domain Validation Secure Server CA' }, 
     subjectaltname: 'DNS:secure.emailsrvr.com, DNS:www.secure.myemailserver.com', 
     infoAccess: { 'CA Issuers - URI': [Object], 'OCSP - URI': [Object] } 

j'ai essayé d'ajouter

tls { 
rejectUnauthorized: false 
} 

au courrier électronique option, mais qui provoque le blocage de mon email, donc s'il vous plaît toute aide

+0

Veuillez fournir le journal avec le jeu d'options tls comme vous l'avez. – Francesco

+0

double possible de [Envoi de courriers électroniques avec nodemailer] (https://stackoverflow.com/questions/29099582/sending-emails-with-nodemailer) –

Répondre

1

Vous ne savez pas que vous manquez le côlon dans votre code comme dans votre question, mais il devrait être:

tls: { 
    rejectUnauthorized: false 
} 

Dans mon expérience, c'est tout ce que vous avez besoin pour obtenir le nom de discordances autour cert. Les options entières de transport devraient ressembler à ceci:

var smtpTransport = nodemailer.createTransport(smtpTransport({ 
    pool: true, 
    host: 'smtp.myemailserver.com', 
    port: 587, 
    auth: { 
     user: '[email protected]', 
     pass: '******' 
    }, 
    tls: { 
     rejectUnauthorized: false 
    } 

Gardez à l'esprit ce qui vous laisse vulnerable to MITM attacks on SSL. Qu'est-ce que cela veut dire "bloquer mon e-mail"?

+0

obtenir une réponse d'erreur : "535 données d'authentification incorrectes" – Ash

+0

réponse : " 535 Données d'authentification incorrectes " – Ash