发送邮件功能

发送邮件

目前测试了几种可行方式:

  1. 第一种:最懒惰的方法
    — 也可自行直接用a链接直接调起本地邮件发送器,,即可。
    限制: 要求必须本地有下载并注册
	<a href="mailto:youremail@mail.com?subject=邮件标题&body=邮件内容">告诉我们</a>
  1. 第二种:最花钱的方法,
    — 需要用到第三方平台:https://formspree.io/

    — 注册登录之后,用自己的邮箱自动生成一个可发送链接:类似: https://formspree.io/f/xskwwpjz

    — 然后将此链接方式 form标签中 action="https://formspree.io/f/xskwwpjz" 即可,

    — 详情参考如下链接:https://blog.csdn.net/weixin_40758850/article/details/93398106

    限制: 第三方平台每月免费发送限制为50条,需要开通vip,于是乎作为穷根深种的我发掘了一下第三种方法。

  2. 第三种: 简单易用的 Node.JS 邮件发送模块

    — 需要开启node服务,安装Nodemailer插件,需要自建模块简单配置一下,
    — 配置该路由,前端调用并传输信息即可。
    — 配置前准备:需要准备接收邮箱并开启该邮箱的IMAP/SMTP服务
    — 获取到一个授权码,这个授权码加到该配置中,但是授权码会随着账号密码更改等原因而需重新获取并配置。
    具体配置:

     npm install nodemailer
    
// routes/nodemailer.js
// 这是一个发送邮件的模块
const nodemailer = require('nodemailer');
// 简单配置
const params = {
        host: 'smtp.qq.com',//固定的,邮箱账号中开启 IMAP/SMTP服务 中有查看详细说明
        port: 465,  //端口也是固定的,查询同上
        secture: false,
        auth: {
            user: '123@qq.com', //自己的邮箱账号
            pass: 'lmfyglmrulzzffhj' // 这里的密码不是 邮箱的登录密码 而是 通过邮箱内 设置 形成的授权码 这个可以自己进行设置
        }
    }
    // 邮件信息
const mailOptions = {
        from: '123@qq.com',
        to: '123@qq.com,456@qq.com', // 这里可以发送多个用户  分别用 , 隔开
        subject: 'hello!',
        html: '这个是我测试发送邮箱的内容', // 这里可以是 html 标签 字符串
        // attachments: [{ // 这里可以添加附件  并且可以添加多个
        //     filename: 'test.txt',
        //     content: 'hello world!'
        //   },{
        //     filename: 'test.txt',
        //     content: 'hello world!',
        //     contentType: 'text/plain'
        //   }]
        // }
    }
    // 发送邮件
var send = function() {
    const transpoter = nodemailer.createTransport(params);
    transpoter.sendMail(mailOptions, (err, info) => {
        if (err) {
            console.log(err);
            return
        }
        console.log(info);
    });
}
module.exports = send;

//app.js
var postmailer = require('./routes/nodemailer');

app.use('/mailer', postmailer);

$("#submit").click(function () {
            $.ajax({
                url: '/mailer',
                type: 'post',
                dataType: 'json',
                success: function (data) {
                    console.log(data)
                },
                error: function (err) {
                    console.log(err)
                }
            })
        });

之后前端调用即可,可前端传参作为发送邮件信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值