오늘은 노드가 이메일 활성화 기능을 구현하는 방법을 배웠습니다. 이 기능은 계정을 등록할 때 꼭 이 단계를 거치게 됩니다.
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: '流觞曲水 <xxx@126.com>', // 主题 subject: '测试', // 收件人 to: 'xxx@qq.com', // 邮件内容,HTML格式 text: '点击激活:xxx' //接收激活请求的链接 }; send(mail);
성공하면 테스트 메일함에 전송된 메시지를 볼 수 있습니다.
4. 인증 단계
이전에 작성한 개인 블로그 프로젝트와 관련하여 이메일 인증 구현 방법에 대해 간략하게 이야기하겠습니다.
1. 활성화 중에 판단하는 데 사용되는 활성화 코드, 만료 시간 및 활성화 여부에 대한 필드가 있어야 합니다. 사용자 이름과 활성화 코드가 포함된 링크는 다음과 같습니다.
{ code: String, //激活码,格式自己定义 date: Number, //过期日期,过期后不能激活 islive: Boolean //判断是否激活 }
3. 활성화 요청에 응답하고 활성화 링크의 사용자 이름에 따라 검색합니다. 사용자가 존재하는 경우 활성화 코드가 있는지 확인합니다. 일관되게 활성화 코드가 만료되었는지 확인합니다. 모두 정확하면 활성화 상태를 다음과 같이 변경합니다.
// 创建一个邮件对象 var mail = { // 发件人 from: '小静博客 <xiaojing@126.com>', // 主题 subject: '激活账号', // 收件人 to: usermess.email, //发送给注册时填写的邮箱 // 邮件内容,HTML格式 text: '点击激活:<a href="localhost:3000/checkCode?name='+ usermess.name +'&code='+ usermess.code + '" rel="external nofollow" ></a>' };
위 내용은 Node.js는 이메일 활성화를 등록하는 예제 프로세스를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!