Node.js を使用して電子メール アクティベーションに登録する方法

php中世界最好的语言
リリース: 2018-06-14 11:04:48
オリジナル
1806 人が閲覧しました

今回は、Node.js を使用してメール アクティベーションを登録する方法を説明します。Node.js を使用してメール アクティベーションを登録する場合の注意点は何ですか?実際のケースを見てみましょう。

1. メールアドレスを登録します

まず確認メールの送信をサポートするメールアドレスをここで登録しましたので、以下は送信メールアドレスとして163メールアドレスを使用します

。登録を行ってから、ナビゲーション バーの [設定] をクリックし、[POP3/SMTP/IMAP] を選択し、POP3/SMTP/IMAP サービスを有効にして、認証コードを設定します。

2. nodemailer プラグインをダウンロードします

コマンドラインに次のように入力します: npm install --save nodemailer

3. 電子メールを送信するコードを記述します

3.1 アクティベーション電子メールを送信するコードをカプセル化します。 3.2 テストを実行します:

//email.js
// 引入 nodemailer
const nodemailer = require('nodemailer');
// 创建一个SMTP客户端配置
const config = {
    host: 'smtp.163.com',
    port: 465,
    auth: {
      user: 'xxxx@163.com', //刚才注册的邮箱账号
      pass: 'xxxxxx' //邮箱的授权码,不是注册时的密码
    }
  };
// 创建一个SMTP客户端对象
const transporter = nodemailer.createTransport(config);
// 发送邮件
module.exports = function (mail){
  transporter.sendMail(mail, function(error, info){
    if(error) {
      return console.log(error);
    }
    console.log('mail sent:', info.response);
  });
};
ログイン後にコピー

成功すると、テスト メールボックスに送信されたメッセージが表示されます。

4. 認証手順

メール認証の実装方法について簡単に説明します。

1. アクティベーション時に判断するために使用される、アクティベーション コード、有効期限、およびアクティベートされているかどうかのフィールドが必要です。

//sendtest.js
var send = require('./email.js');
// 创建一个邮件对象
var mail = {
  // 发件人
  from: '极客教程 <xxxx@163.com>',
  // 主题
  subject: '[极客教程]激活邮箱账号',
  // 收件人
  to: 'xxxx@qq.com',
  // 邮件内容,HTML格式
  text: `尊敬的${user.name},您好!点击链接即可激活您的极客教程
      网账号,http://localhost:3000/checkCode?name=${user.name}&code=${user.code}为保障您的帐号安全,请在24小时内点击该链接,您也可以将链接复制到浏览器地址栏访问。 若如果您并未尝试修改密码,请忽略本邮件,由此给您带来的不便请谅解。本邮件由系统自动发出,请勿直接回复!` //接收激活请求的链接
};
send(mail);
ログイン後にコピー

3. アクティベーション要求に応答し、アクティベーション リンクのユーザー名に従って検索し、ユーザーが存在する場合は、アクティベーション コードが一致しているかどうかを確認し、アクティベーションが完了したかどうかを判断します。コードの有効期限が切れている場合は、アクティベーション ステータスを変更します。この時点で、次のコードがアクティベーションに成功します。

開発中に次の問題が発生しました。 : 無効なログイン - 535 エラー: 認証に失敗しました]

name: 'AuthError',

data: '535 Error: 認証に失敗しました',

stage: 'auth' }

smtp サーバーの検証は、NetEase のメールに認証制限があるため失敗しました。メール登録時のアカウント番号と認証コードを必ずご確認ください。

この記事の事例を読んだ後は、その方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:


Angularjsのコントローラーの相互通信機能の詳細な説明

パーソナライズされたコマンドラインツールを作成するためのノード

以上がNode.js を使用して電子メール アクティベーションに登録する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート