Rumah >hujung hadapan web >tutorial js >Melaksanakan e-mel nodemailer berdasarkan Node.js_node.js

Melaksanakan e-mel nodemailer berdasarkan Node.js_node.js

WBOY
WBOYasal
2016-05-16 15:17:511708semak imbas

Nodemailer ialah komponen penghantaran e-mel Node.js yang ringkas dan mudah digunakan. Operasi khusus adalah seperti berikut

1. Pasang nodemailer

npm install nodemailer --save

2. Ciri

Ciri utama Nodemailer termasuk:

  • Sokong pengekodan Unikod
  • Persekitaran sistem Tetingkap Sokongan
  • Menyokong kandungan HTML dan kandungan teks biasa
  • Sokongan lampiran (pindah lampiran besar)
  • Menyokong membenamkan imej dalam kandungan HTML
  • Menyokong penghantaran e-mel selamat SSL/STARTTLS
  • Menyokong kaedah pengangkutan terbina dalam dan kaedah pengangkutan yang dilaksanakan oleh pemalam lain
  • Sokong pemalam tersuai untuk memproses mesej
  • Sokong pengesahan log masuk XOAUTH2

Ciri fungsi di atas telah merangkumi kebanyakan keperluan untuk menghantar e-mel Seterusnya, mari kita mula menulis program.

3. Contoh mudah

Ini adalah contoh lengkap untuk menghantar e-mel dengan teks yang jelas dan badan HTML

var nodemailer = require('nodemailer');

// create reusable transporter object using the default SMTP transport
var transporter = nodemailer.createTransport('smtps://user%40gmail.com:pass@smtp.gmail.com');

// setup e-mail data with unicode symbols
var mailOptions = {
  from: 'Fred Foo &#128101; <foo@blurdybloop.com>', // sender address
  to: 'bar@blurdybloop.com, baz@blurdybloop.com', // list of receivers
  subject: 'Hello &#10004;', // Subject line
  text: 'Hello world &#128052;', // plaintext body
  html: '<b>Hello world &#128052;</b>' // html body
};

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

4. Kesilapan biasa

{ [AuthError: Invalid login - 454 Authentication failed, please open smtp flag first!]
 name: 'AuthError',
 data: '454 Authentication failed, please open smtp flag first!',
 stage: 'auth' }

Punca ralat: Akaun belum menyediakan perkhidmatan ini
Penyelesaian: Peti mel QQ -> Tetapan ->

{ [SenderError: Mail from command failed - 501 mail from address must be same as authorization user]
 name: 'SenderError',
 data: '501 mail from address must be same as authorization user',
 stage: 'mail' }
Punca ralat: Akaun penghantaran dan akaun pengesahan adalah berbeza, iaitu nama pengguna dan kata laluan tidak sepadan.

Di atas adalah keseluruhan kandungan artikel ini, saya harap ia akan membantu kajian semua orang.

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn