最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 「nodemailer」Node 邮件发送模块

    正文概述 掘金(Moking1997)   2020-12-22   676

    简介

    Nodemailer 是一个简单易用的 Node.JS 邮件发送模块(通过 SMTP,sendmail,或者 Amazon SES),支持 unicode,你可以使用任何你喜欢的字符集。

    功能

    • 具有零依赖关系的单个模块–代码容易审核,因为没有死角
    • 高度重视安全性,没有人喜欢RCE漏洞
    • Unicode支持使用任何字符,包括表情符号?
    • Windows支持–您可以使用安装npm在Windows上,与其他模块一样,没有编译的依赖项。从Azure或Windows盒子免费使用它
    • 使用HTML内容以及纯文本替代
    • 加 附件 到消息
    • 嵌入式的 HTML内容的图像附件–您的设计不会被阻塞
    • 使用TLS / STARTTLS的安全电子邮件传递
    • 不同 运输方式 除了内置 SMTP支持
    • 与签署消息 DKIM
    • 自订 插件支持 用于处理消息
    • 桑 OAuth2 认证方式
    • 代理人 用于SMTP连接
    • ES6码-没有更多的无意内存泄漏,由于吊装VAR的
    • 自动生成来自的电子邮件测试帐户电子邮件

    使用

    安装

    npm install nodemailer --save
    # or
    yarn add nodemailer
    

    使用

     const nodemailer = require('nodemailer')
    
     //创建一个SMTP客户端配置对象
     const transporter = nodemailer.createTransport({
         // 默认支持的邮箱服务包括:”QQ”、”163”、”126”、”iCloud”、”Hotmail”、”Yahoo”等
         service: "QQ",
         auth: {
             // 发件人邮箱账号
             user: '744xxx@qq.com',
             //发件人邮箱的授权码 需要在自己的邮箱设置中生成,并不是邮件的登录密码
             pass: '*******'
         }
     })
    
     // 配置收件人信息
     const receiver = {
         // 发件人 邮箱  '昵称<发件人邮箱>'
         from: `"张大力"<744xxx@qq.com>`,
         // 主题
         subject: '录取通知',
         // 收件人 的邮箱 可以是其他邮箱 不一定是qq邮箱
         to: 'yexxxx@xxx.com',
         // 可以使用html标签
         html: `
        <h1>你好,你的摸鱼程度符合本公司要求,请尽快加入我们</h1>
        <br>
        <table width="100%" style="border-collapse: collapse; border-spacing: 0;border: 0;height:120px;">
                        <tr height="40px" style="padding: 0;border: 0;">
                            <td style="width: 50px;font-size: 16px;font-weight: bold;line-height: 21px;color: rgba(255, 95, 46, 1);"
                                colspan="1"> 张大力 </td>
                            <td style="font-size: 16px;font-weight: 400;line-height: 21px;color: rgba(151, 151, 151, 1);"
                                colspan="3"> 摸鱼部 </td>
                        </tr>
                        <tr>
                            <td colspan="4"
                                style="font-size: 14px;font-weight: bold;line-height: 19px;color: rgba(151, 151, 151, 1);  padding: 0;border: 0;">
                                上班摸鱼有限公司</td>
                        </tr>
                        <tr>
                            <td style="font-size: 14px;font-weight: bold;line-height: 19px;color: rgba(151, 151, 151, 1);  padding: 0;border: 0;"
                                colspan="1"> 电话:</td>
                            <td style="position: relative;left: -10px;font-size: 12px;line-height: 19px;color: rgba(151, 151, 151, 1); padding: 0;border: 0;"
                                colspan="1" style="position: relative;left: -10px;font-size: 12px;line-height: 19px;color:
                                rgba(151, 151, 151, 1);">
                                139 1xxx 5xxx </td>
                            <td style="font-size: 14px;font-weight: bold;line-height: 19px;color: rgba(151, 151, 151, 1);  padding: 0;border: 0;"
                                colspan="1"> 热线:</td>
                            <td style="position: relative;left: -10px;font-size: 12px;line-height: 19px;color: rgba(151, 151, 151, 1); padding: 0;border: 0;"
                                colspan="1">400 0xx 5xxx</td>
                        </tr>
                        <tr>
                            <td style="font-size: 14px;font-weight: bold;line-height: 19px;color: rgba(151, 151, 151, 1);  padding: 0;border: 0;"
                                colspan='1'> 官网:</td>
                            <td style="position: relative;left: -10px;font-size: 12px;line-height: 19px;color: rgba(151, 151, 151, 1); padding: 0;border: 0;"
                                colspan="3"> www.moyu.com
                            </td>
                        </tr>
                        <tr>
                            <td
                                style="font-size: 14px;font-weight: bold;line-height: 19px;color: rgba(151, 151, 151, 1);  padding: 0;border: 0;">
                                地址:</td>
                            <td style="position: relative;left: -10px;font-size: 12px;line-height: 19px;color: rgba(151, 151, 151, 1); padding: 0;border: 0;"
                                colspan="3">世界摸鱼广场 </td>
                        </tr>
                    </table>
        `
     }
    
     // 发送邮件 
     transporter.sendMail(receiver, (error, info) => {
         if (error) {
             return console.log('发送失败:', error);
         }
         transporter.close()
         console.log('发送成功:', info.response)
     })
    

    发送效果

    「nodemailer」Node 邮件发送模块

    配置公司邮箱

    公司邮箱一般为mail.company.com,不在默认支持的邮箱服务内,所以要另外进行配置. 这里用企业微信邮箱做例子.

     const config = {
    	 // 配置服务商提供的发送服务器和端口号
         host: "smtp.exmail.qq.com",
         port: '465',
         auth: {
             // 发件人邮箱账号
             user: 'xxx@company.com',
             //发件人邮箱的授权码 需要在自己的邮箱设置中生成,并不是邮件的登录密码
             pass: '*******'
         }
     }
     const transporter = nodemailer.createTransport(config)
     // 发送方法与上述一致
     // ....
    

    起源地下载网 » 「nodemailer」Node 邮件发送模块

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元