>  기사  >  웹 프론트엔드  >  Node.js는 이메일 활성화를 등록하는 예제 프로세스를 구현합니다.

Node.js는 이메일 활성화를 등록하는 예제 프로세스를 구현합니다.

零下一度
零下一度원래의
2017-07-24 15:38:341530검색

오늘은 노드가 이메일 활성화 기능을 구현하는 방법을 배웠습니다. 이 기능은 계정을 등록할 때 꼭 이 단계를 거치게 됩니다.

1. 먼저 계정을 등록하세요. 확인 이메일 전송을 지원하는 Mailbox, NetEase의 126 사서함을 사용할 수 있습니다

등록 성공 후 로그인한 다음 Navigation 열의 설정을 클릭하고 POP3/SMTP/IMAP을 선택한 후 POP3/SMTP/IMAP 서비스를 활성화합니다. 을 클릭하고 인증 코드를 설정하세요.

2. nodemailer 플러그인을 다운로드합니다.

명령줄에 다음을 입력합니다. npm install --save nodemailer

3. 이메일을 보내는 코드를 작성합니다.

1. 활성화를 보내는 코드를 캡슐화합니다. 이메일로 보낸 후 내보내기:

//email.js
// 引入 nodemailer
var nodemailer = require('nodemailer');
// 创建一个SMTP客户端配置
var config = {
    host: 'smtp.126.com', 
    port: 25,
    auth: {
      user: 'xxx@126.com', //刚才注册的邮箱账号
      pass: 'xxxxxx' //邮箱的授权码,不是注册时的密码
    }
  };
// 创建一个SMTP客户端对象
var 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);
  });
};

2. 테스트 수행:


//sendtest.js
var send = require('./mail-test');
// 创建一个邮件对象
var mail = {
  // 发件人
  from: &#39;流觞曲水 <xxx@126.com>&#39;,
  // 主题
  subject: &#39;测试&#39;,
  // 收件人
  to: &#39;xxx@qq.com&#39;,
  // 邮件内容,HTML格式
  text: &#39;点击激活:xxx&#39; //接收激活请求的链接
};
send(mail);

성공하면 테스트 메일함에 전송된 메시지를 볼 수 있습니다.

4. 인증 단계

이전에 작성한 개인 블로그 프로젝트와 관련하여 이메일 인증 구현 방법에 대해 간략하게 이야기하겠습니다.

1. 활성화 중에 판단하는 데 사용되는 활성화 코드, 만료 시간 및 활성화 여부에 대한 필드가 있어야 합니다. 사용자 이름과 활성화 코드가 포함된 링크는 다음과 같습니다.


{
  code: String, //激活码,格式自己定义
  date: Number, //过期日期,过期后不能激活
  islive: Boolean //判断是否激活
}

3. 활성화 요청에 응답하고 활성화 링크의 사용자 이름에 따라 검색합니다. 사용자가 존재하는 경우 활성화 코드가 있는지 확인합니다. 일관되게 활성화 코드가 만료되었는지 확인합니다. 모두 정확하면 활성화 상태를 다음과 같이 변경합니다.


// 创建一个邮件对象
  var mail = {
    // 发件人
    from: &#39;小静博客 <xiaojing@126.com>&#39;,
    // 主题
    subject: &#39;激活账号&#39;,
    // 收件人
    to: usermess.email, //发送给注册时填写的邮箱
    // 邮件内容,HTML格式
    text: &#39;点击激活:<a href="localhost:3000/checkCode?name=&#39;+ usermess.name +&#39;&code=&#39;+ usermess.code + &#39;" rel="external nofollow" ></a>&#39;
  };

위 내용은 Node.js는 이메일 활성화를 등록하는 예제 프로세스를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.