vue 项目实现发 邮件 的功能

vue 项目实现发 邮件 的功能新版本 vue cli 生成已经木有 server 的文件 需要我们手动来创建一个 server js 在更目录下 和 index html 同级 server js 下面的相关参数已经隐藏起来 请用自己的邮箱测试 谢谢 varpath require path varexpress require express varwebpack require webpac

本文以为例子, 其他邮箱参考:node_modules/nodemailer/well-known/services.json
新版本vue-cli 生成已经木有server的文件,需要我们手动来创建一个server.js 在更目录下(和index.html同级)
  • server.js (下面的相关参数已经隐藏起来,请用自己的邮箱测试,谢谢)
var path = require('path')
var express = require('express')
var webpack = require('webpack')
var nodemailer = require("nodemailer");

// 加载body-parser 处理post提交过来的数据
var bodyParser = require('body-parser');
var app = express()
var apiRoutes = express.Router()

app.use('/', express.static('./dist'))

// bodyParser 设置,自动会在req上面添加
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
apiRoutes.post('/email', function(req, res) {
    console.info('req', req.body.name, req.body.email)
    var text = `这个人姓名叫${req.body.name }邮箱是${req.body.email},欢迎骚扰`

    if (req.body.name && req.body.email) {
        res.json({
            iRet: 1,
            info: 'ok',
        });

        // Use Smtp Protocol to send Email
        var transporter = nodemailer.createTransport({
            //https://github.com/andris9/nodemailer-wellknown#supported-services 支持列表
            service: '',
            port: 587, // SMTP 端口
            secure: false,
            // secureConnection: true, // 使用 SSL
            auth: {
                user:你的邮箱,
                //这里密码不是密码,是你设置的smtp密码
                pass: XXXXXXXX
            }
        });

        // setup e-mail data with unicode symbols
        var mailOptions = {
            to: req.body.email,
            from: 你的邮箱, // 这里的from和 上面的user 账号一样的
            subject: '我在学习发邮件', // 标题
            //text和html两者只支持一种
            text: text, // 标题
            // html: 'Hello world ?' // html 内容
        };

        transporter.sendMail(mailOptions, function(error, info) {
            if (error) {
                return console.log(error);
            }
            console.log('邮件发送: ' + info.response);
            transporter.close();
        });

    } else {
        res.json({
            iRet: -1,
            info: 'error',
        });
        return;
    }
});
app.use('/api', apiRoutes)


app.listen(8081, function() {
    console.info('复制打开浏览器', 'localhost:8081')
})

上面获取相关参数pass的方法参考:https://blog.csdn.net/Zhooson/article/details/

  • 留意一下: 启动的server.js的端口是8081,vue-cli启动的端口是 8080 。

修改代理,打开config/index.js 添加以下代码

 proxyTable: { '/api': { target: 'http://localhost:8081', // 接口的域名 // secure: false, // 如果是https接口,需要配置这个参数 changeOrigin: true, // 如果接口跨域,需要进行这个参数配置 // pathRewrite: { // '^/api': '' // } } } 
  • 发邮件的email.vue文件是:
 
    
    
  • 部署
    在这里插入图片描述

  • dist的文件 是npm run build 出来的文件
  • vue-nodemailer-4000.js 的内容就是 server.js 的内容
  • 线上需要的手动安装的vue-nodemailer-4000.js 里面所需npm包
  • pm2 start vue-nodemailer-4000.js (我线上起的4000端口)
  • 访问你的地址
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/218928.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午11:09
下一篇 2026年3月17日 下午11:09


相关推荐

  • 处理变长参数的利器——valist

    处理变长参数的利器——valist1 valist 简介 C 语言标准库中头文件 stdarg h 声明了一组能够变长参数的宏 主要有 1 va list 用来声明一个表示参数表中各个参数的变量 2 va start 初始化一个指针来指向变长参数列表的头一个变量 注意 只能出现在参数表的最后 3 va arg 每次调用时都会返回当前指针指向的变量 并将指针挪至下一个位置 参数的类型需要在这个调用的第二个参数来指定 va

    2026年3月18日
    2
  • 配置HSRP「建议收藏」

    配置HSRP「建议收藏」HSRP(HotStandbyRouterProtocol,热备份路由选择协议)是Cisco私有的一种技术,他确保了网络边缘设备或接入链路出现故障时,用户通信能迅速并透明恢复,以此为IP网络提供冗余性。通过应用HSRP,可使用网络的正常运行时间接近100%,从而满足用户对网络可靠性的要求。在使用HSRP协议的网络中,可以通过将不同的活跃路由器指定不同的三层交换机。从而实现网络流量的…

    2025年8月7日
    5
  • Vista初探_Vista Alegre

    Vista初探_Vista Alegre昨天安装了手中的WindowsVistaBusiness,经过几个小时的摸索,我对Vista这个大块头有了一些个人体会,拿出来给大家分享。一、安装及激活:从安装开始说,在我安装之前,我已经有WindowsXP和Ubuntu两套操作系统,启动由Linux的Grub引导,如何把Vista装进硬盘又不影响Ubuntu的启动是第一个需要解决的问题。(以下括号内为题外话,如果你觉…

    2022年10月11日
    4
  • 2026 开发者生存报告:GPT-5.3 沦为“插件”?Open Claw 架构借力“向量引擎”,如何实现对 Sora2/Veo3 的“上帝视角”调用

    2026 开发者生存报告:GPT-5.3 沦为“插件”?Open Claw 架构借力“向量引擎”,如何实现对 Sora2/Veo3 的“上帝视角”调用

    2026年3月14日
    2
  • linux查看端口号命令

    linux查看端口号命令这本阿里 P8 撰写的算法笔记 再次推荐给大家 身边不少朋友学完这本书最后加入大厂 Github 疯传 史上最强悍 阿里大佬 LeetCode 刷题手册 开放下载了 第一种 lsof i 端口号第二种 netstat nltp grep 端口号 a 显示本机所有连接和监听地端口 n 网络 IP 地址的形式 显示当前建立的有效连接和端口 r 显示路由表信息 s 显示按协议的统计信息 v 显示当前有效的连接 t 显示所有 TCP 协议连接情况 u 显示所有 UDP 协议连接情况 i 显示自

    2025年8月11日
    6
  • DHCP中继代理_三层交换机配置dhcp中继

    DHCP中继代理_三层交换机配置dhcp中继实验目的:1.无中继代理时,DHCP向客户端发送地址段和接收接口地址相同的网段,如果不存在相同网段,就会丢弃请求数据包.2.有中继代理时,服务器能够发送正确IP地址给客户端,是因为有一个被称为option82的选项,这个选项只要DHCP请求数据包被中继后便会自动添加,此选项,中继路由器会在里面的giaddr位置写上参数,这个参数,就是告诉服务器,客户端需要哪个网段的IP地址才能正常工作。…

    2022年10月15日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号