zoukankan      html  css  js  c++  java
  • NodeJS发邮件(你收到了吗)

    NodeJS发邮件

    在项目需求中,大都情况下我们会遇到要发送邮件的情况,比如说验证码呀
    那么,今天咱们试试用NodeJS发送邮件

    简介
    Nodemailer 是一个简单易用的NodeJS邮件发送插件
    支持Windows环境、Unicode编码、HTML内容、附件(大文件)等等

    常见的字段:

    • from 发送者的邮箱
    • sender 发送者区域显示的信息
    • to 接受者邮箱
    • cc 抄送者邮箱
    • subject 密送者邮箱
    • html HTML内容
    • header 另外加头消息
    • encoding 编码格式

    安装
    npm install --save nodemailer

    开启QQ邮箱的SMTP服务
    打开QQ邮箱的设置,找到POP3/SMTP服务
    选择打开
    发送短信之后即可打开,并且收到授权码,将授权码填在对应的代码位置(*****)

    封装函数

    const nodemailer = require('nodemailer');
    // 创建可重用邮件传输器
    const transporter = nodemailer.createTransport({
        host: "smtp.qq.com", // qq的邮件地址
        port: 465, // 端口
        secureConnection: false, // use SSL
        auth: {
            "user": 'yourname@qq.com', // 邮箱账号
            "pass": '**************' // 邮箱的授权码
        }
    });
    const send = (mailOptions) => {
        transporter.sendMail(mailOptions, function (error, info) {
            if (error) {
                return console.log(error);
            }
            console.log('Message send: %s', info.messageId);
        });
    }
    
    let code = Math.floor(Math.random() * 999999).toString()
    
    let emailCode = code //验证码为6位随机数
    let email = {
        title: '邮箱验证码',
        htmlBody: '<h1>Hello!</h1><p style="font-size: 18px;color:#000;">验证码为:<u style="font-size: 16px;color:#1890ff;">' + emailCode + '</u></p><p style="font-size: 14px;color:#666;">10分钟内有效</p>'
    }
    let mailOptions = {
        from: 'yourname@qq.com', // 发件人地址
        to: 'accectname@qq.com', // 收件人地址,多个收件人可以使用逗号分隔
        subject: email.title, // 邮件标题
        html: email.htmlBody // 邮件内容
    };
    send(mailOptions)
    

    代码部分如所示,按照上述步骤就行

  • 相关阅读:
    Linux系统备份与还原
    今后的日程安排(面试期间)
    我的下一份工作是什么样子呢?
    WebView 放大缩小
    Android EditText赋值后光标在后面
    android中捕捉menu按键的点击事件
    Android控件常用属性
    点击autocompletetextview时,如果没有输入时显示默认列表
    在Activity里怎样获得另一个xml布局文件的控件
    Android中的AutoCompleteTextView的使用
  • 原文地址:https://www.cnblogs.com/Indomite/p/14195223.html
Copyright © 2011-2022 走看看