• nodejs使用nodemailer发送邮件


    nodejs使用nodemailer实现自动发送邮件

    首先安装包:

    npm i nodermailer --save-dev

    代码如下:

    // const path = require('path');
    const nodemailer = require('nodemailer');
    const os = require('os');
    // 发送人信息
    const MailInfo = {
        service: 'qq',
        user: '1522025433@qq.com',
        pass: 'xxxx' // 授权码
    };
    
    // 接受人信息
    const ToInfo = {
        // 接受者,可以同时发送多个,以逗号隔开  (通知自己)
        user: '2122008217@qq.com,' + MailInfo.user,  // 姚德凯
    }
    
    // 本机ip
    let LocatIp = '';
    
    /**
     * 获取本机IP
     * @return {String} 返回本机IP
     */
    const getLocalIP = ()=>{
        const ifaces = os.networkInterfaces();
        let locatIp = '';
        for (let dev in ifaces) {
            if (dev === '本地连接' || dev === '以太网') {
                for (let j = 0; j < ifaces[dev].length; j++) {
                    if (ifaces[dev][j].family === 'IPv4') {
                        locatIp = ifaces[dev][j].address;
                        break;
                    }
                }
            }
        }
        return locatIp;
    }
    LocatIp = getLocalIP();
    
    console.log(LocatIp)
    
    
    /*
    // qq
    const transporter = nodemailer.createTransport({
        service: 'qq',
        auth: {
            // user: '527828938@qq.com',
            user: 'zhudongakaiemail@163.com',
            // pass: 'ugxovfwhvxypxxxx' // 授权码,通过QQ获取
            pass: 'xxxxx' // 授权码,通过QQ获取
        }
    });
    */
    
    /*
    // 163
    const transporter = nodemailer.createTransport({
        // host: 'smtp.163.com',
        // port: 465,
        // secure: true, // 如果是 true 则port填写465, 如果 false 则可以填写其它端口号
        service: '163',
        auth: {
            // user: 'zhudongkaiemail@163.com',
            // pass: 'xxxxxxxxx' // 授权码,通过163获取
            user: MailInfo.user,
            pass: MailInfo.pass // 授权码,通过163获取
        }
    });
    */
    
    // outlook
    const transporter = nodemailer.createTransport({
        service: MailInfo.service,
        auth: {
            // user: 'zhudongkaiemail@163.com',
            // pass: 'xxxxxxxxx' // 授权码,通过163获取
            user: MailInfo.user,
            pass: MailInfo.pass // 授权码,通过163获取
        }
    });
    
    
    
    
    
    const mailOptions = {
        // from: '527828938@qq.com', // 发送者
        // from: 'zhudongkaiemail@163.com', // 发送者
        // to: '1689372692@qq.com', // 接受者,可以同时发送多个,以逗号隔开
        from: MailInfo.user, // 发送者
        to: ToInfo.user, // 接受者,可以同时发送多个,以逗号隔开
        subject: '发包邮件发送', // 标题
        //text: 'Hello world', // 文本
        /*
        html: `<h2>nodemailer基本使用:</h2>
               <h3>
                       <a href="http://blog.csdn.net/zzwwjjdj1/article/details/51878392">
                        http://blog.csdn.net/zzwwjjdj1/article/details/51878392
                    </a>
                </h3>`,
        */
        html: `<h2>辛苦发包,谢谢!</h2>
               <a href="http://${LocatIp}:5000/build/build.zip">下载正式包</a>
               <a href="http://${LocatIp}:5000/build.test/build.test.zip">下载测试包</a>`,
    /*  // 附件
        attachments:[
            // {
            //     filename : 'build.test',
            //     path: path.resolve( __dirname, '../build.test/build.test.zip')
            // },
            // {
            //     filename : 'build',
            //     path: path.resolve( __dirname, '../build/build.zip')
            // }
            
            
            {
                filename : 'build',
                path: path.resolve( __dirname, '../build/build.zip')
            },
        
        ]
    */
    };
    
    transporter.sendMail(mailOptions, function (err, info) {
        if (err) {
            console.log(err);
            return;
        }
        
        console.log('邮件发送成功');
    });

    这样就完成了。

    如果使用微软邮箱发送有问题请参考下面这篇文章有可能帮到你:

    nodemaierl以hotmail(微软邮箱)作为发件人时报错554 

  • 相关阅读:
    POJ 2723 Get Luffy Out(2-SAT)
    ZOJ 3613 Wormhole Transport
    HDU 4085 Peach Blossom Spring
    NBUT 1221 Intermediary
    NBUT 1223 Friends number
    NBUT 1220 SPY
    NBUT 1218 You are my brother
    PAT 1131. Subway Map (30)
    ZSTU OJ 4273 玩具
    ZSTU OJ 4272 最佳淘汰算法
  • 原文地址:https://www.cnblogs.com/taohuaya/p/13748033.html
Copyright © 2020-2023  润新知