ホームページ >ウェブフロントエンド >jsチュートリアル >Node.js_node.js に基づいたノードメーラー電子メールの実装

Node.js_node.js に基づいたノードメーラー電子メールの実装

WBOY
WBOYオリジナル
2016-05-16 15:17:511675ブラウズ

Nodemailer はシンプルで使いやすい Node.js メール送信コンポーネントです。具体的な操作は次のとおりです。

1. ノードメーラーをインストールします

npm install nodemailer --save

2. 特徴

Nodemailer の主な機能は次のとおりです:

  • Unicode エンコードをサポート
  • サポート Windows システム環境
  • HTML コンテンツと通常のテキスト コンテンツをサポートします
  • 添付ファイルのサポート (大きな添付ファイルの転送)
  • HTML コンテンツへの画像の埋め込みをサポートします
  • SSL/STARTTLS の安全な電子メール送信をサポート
  • 組み込みのトランスポート メソッドと他のプラグインによって実装されたトランスポート メソッドをサポートします
  • メッセージを処理するカスタム プラグインをサポート
  • XOAUTH2 ログイン検証をサポート

上記の機能は、電子メールを送信するためのニーズのほとんどをカバーしました。次に、プログラムの作成を始めましょう。

3. 簡単な例

これは、クリア テキストと 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. よくある間違い

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

エラーの原因: アカウントがこのサービスを設定していません
解決策: QQ メールボックス -> 設定 -> アカウント -> サービスを有効にする

{ [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' }

エラーの原因: 送信アカウントと認証アカウントが異なります。つまり、ユーザー名とパスワードが一致しません。

以上がこの記事の全内容です。皆様の学習のお役に立てれば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。