2015-09-30 2 views
1

J'utilise le module nodemailer pour envoyer des emails dans mon projet sails.js. Maintenant, je me demande s'il y a un moyen que je pourrais savoir si l'email est livré avec succès ou l'email est en quelque sorte échoué en raison d'une pièce jointe ou peut-être une adresse e-mail erronée.vérifier si l'email est livré avec succès nodemailer (sails.js)

comment puis-je être sûr que l'adresse e-mail est valide ou non? ou l'e-mail est-il envoyé à l'adresse e-mail concernée avec succès ou non?

J'ai lu la documentation de nodemailer et ai aussi fait quelques R & D dessus mais jusqu'ici je ne suis pas capable de trouver quelque chose de productif.

S'il vous plaît laissez-moi savoir s'il existe un moyen de confirmer à propos de l'email ou non.

Merci.

+0

En général, il est impossible de demander au destinataire de cliquer sur un lien. –

Répondre

3

C'est simple. sendMail a un rappel en tant qu'argument. Vous venez de vérifier si une erreur existe dans ce rappel.

transport.sendMail({}, (error, result) => { 
    if (error) return console.error(error); 
    return console.log(result); 
}); 

Ou vous pouvez utiliser package sails-service-mailer pour l'envoi de mails - https://github.com/ghaiklor/sails-service-mailer. Alors vous pouvez écrire votre code comme ceci

SmtpMailer 
    .send({}) 
    .then(console.log.bind(console)) 
    .catch(console.error.bind(console)); 

Si vous voulez vérifier la piscine ou quelque chose alors il n'y a aucune possibilité, je suppose. Si vous envoyez un e-mail à une adresse e-mail non existante, il envoie comme d'habitude, mais n'est pas reçu par le destinataire. Quoi qu'il en soit, vous pouvez vérifier si le courrier a été ajouté au pool uniquement.

+0

Qu'en est-il de l'envoi d'une confirmation par courriel ou d'une réinitialisation de mot de passe par courriel? Pouvez-vous m'aider à implémenter ceci dans Sails? –