nodemailer中的幾個坑


nodemailer是什么

nodemailer是一個nodejs的郵件服務模塊

如何用nodemailer發郵件

1.先安裝nodemailer

npm i --save nodemailer 

2.使用nodemailer

var nodemailer = require('nodemailer');
var mailTransport = nodemailer.createTransport({
    host: 'smtp.163.com',
    port: 25,
    auth: {
        user: 'user_name@163.com',
        pass: 'xxxxxx'
    }
});

mailTransport.sendMail({
    from: 'user_name@163.com', //你的郵箱
    to: 'xxxxx', //發給誰
    subject: '標題',
    text: '內容'
}, function (err) {
    if (err) {
        console.error('Unable to send email: ' + err);
    }
});

### 坑在哪里

1.如果是163郵箱的話,auth中的pass密碼是163的授權碼,而不是登錄密碼(其他郵箱沒試過,應該也是這樣的),不然會報錯。

2.auth中的user和下面發郵件時的from需要一致,不然也會報錯。

3.糾結我大半天的東西,我是看的《node與express4開發》這本書,書中在講到nodemailer發送郵件時是這樣寫的:

var mailTransport = nodemailer.createTransport('SMTP', {
    service: 'Gmail',
    auth: {
        user: credentials.gmail.user,
        pass: credentials.gmail.password
    }
});

而官方的例子是(后來看了一下官方示例):

let transporter = nodemailer.createTransport({
    service: 'gmail',
    auth: {
        user: 'gmail.user@gmail.com',
        pass: 'yourpass'
    }
});

看到區別了吧,那個'SMTP',可能是由於模塊更新導致的,但是真的是坑到爆了。 另外,《node與express4》這本書還不錯,就是有些地方代碼有問題(寫錯),其他還是不錯的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM