SmtpJS 几行代码实现javascript发送邮件(记录)
SmtpJS
- 前言
- 一、SmtpJS是什么?
- 二、使用
- 准备发送邮箱(From 发件人邮箱)
- 导入SmtpJs使用
- 容易出错
- 保护措施
- 解决获取SecureToken时报错bootbox is not defined
- 附上各邮箱的端口及smtp发送服务器地址
前言
在不考虑安全性的前提下,不通过后台手段使用javascript直接实现发送邮件的功能
一、SmtpJS是什么?
SmtpJS是一款通过javascript代码发送邮件的插件,导入插件后,只需简单几行代码就能实现邮件发送功能
SmtpJS官网
二、使用
准备发送邮箱(From 发件人邮箱)
发件人邮箱必须是一个开通了POP3/SMTP服务的邮箱(设置POP3/SMTP就可以用其他客户端软件收发邮件),每个平台的邮箱开启方式大同小异,可以网上查询开通方式。举例:我是用的是腾讯企业邮箱开通POP3/SMTP服务
导入SmtpJs使用
1.可以在官网下载SmtpJs插件到本地直接本地引入使用
2.使用cdn引入
<script src="https://smtpjs.com/v3/smtp.js"></script>
<script>
Email.send({Host : "smtp.exmail.qq.com",// 邮箱开启POP3/SMTP服务时对应的发送服务器 smtp.exmail.qq.com对应腾讯企业邮箱发送服务器 Username : "发件人邮箱",Password : "密码",To: '收件人邮箱',From: "发件人邮箱",Subject: "主题",Body: `<span>啊哈:邮件内容</span>`
}).then(message => {if (message == 'OK') {// 成功发送了邮件} else {console.error(message)}}
);
</script>
容易出错
1.调用参数Username 与 From要一致
2.密码Password参数,不是直接使用邮箱的密码例如腾讯企业邮箱使用的是客户端专用密码、qq邮箱使用的就是开启POP3/SMTP服务时获取的授权码(获取腾讯企业邮箱客户端专业密码)
3.Host 必须使用发件人邮箱对应的smtp发送服务器地址否则会报错
保护措施
We’ve thought of that, so instead you can encrypt your SMTP credentials, and lock it to a single domain, and pass a secure token instead of the credentials instead
我们已经考虑过这一点,因此您可以加密SMTP凭证,并将其锁定到单个域,并传递安全令牌而不是凭证
如果你不想你的发送服务器、用户名、密码直接暴露在代码里,可以在官网按照以下步骤将他们替换成SmtoJS指定的SecureToken
使用
<script src="https://smtpjs.com/v3/smtp.js"></script>
<script>
Email.send({SecureToken : "C973D7AD-F097-4B95-91F4-40ABC5567812",//获取到的tokenTo: '收件人邮箱',From: "发件人邮箱",Subject: "主题",Body: `<span>啊哈:邮件内容</span>`
}).then(message => {if (message == 'OK') {// 成功发送了邮件} else {console.error(message)}}
);
</script>
解决获取SecureToken时报错bootbox is not defined
获取token时它的官网报错了…,应该是我的网络问题导致bootbox没有加载出来
1、在使用它默认的SMTP Host参数发下去然后拿到它的请求地址
2、Postman了解一下
附上各邮箱的端口及smtp发送服务器地址
截图出处:https://blog.csdn.net/qq_45034708/article/details/106600049
SmtpJS 几行代码实现javascript发送邮件(记录)相关推荐
- 用 65 行代码实现 JavaScript 动画序列播放
最近在给学生上课,上周六的第一堂课是关于 JavaScript 动画的内容,其中包括一些简单的动画,比如匀速或者匀加/减速的运动,也包括复杂一些的组合动画.而动画的基本原理,在我之前的文章[1]已经有 ...
- 280行代码:Javascript 写的2048游戏
2048 原作者就是用Js写的,一直想尝试,但久久未动手. 昨天教学生学习JS代码.不妨就做个有趣的游戏好了.2048这么火,是一个不错的选择. 思路: 1. 数组 ,2维数组4x4 2. 移动算法, ...
- JavaScript开发区块链只需200行代码
JavaScript开发区块链只需200行代码 用JavaScript开发实现一个简单区块链.通过这一开发过程,你将理解区块链技术是什么:区块链就是一个分布式数据库,存储结构是一个不断增长的链表,链表 ...
- 有奖互动 | 秋天的第一行代码
活动信息 活动时间 2021年9月17日-9月23日 活动规则 登录NGINX社区网站在活动主贴留言,评选出10位获奖者 活动奖品 NGINX社区独家定制的精美纪念T恤衫1件 参与方式 主贴活动传送门 ...
- blockchain 区块链200行代码:在JavaScript实现的一个简单的例子
blockchain 区块链200行代码:在JavaScript实现的一个简单的例子 了解blockchain的概念很简单(区块链,交易链块):它是分布式的(即不是放置在同一台机器上,不同的网络设备上 ...
- 设置WebStorm像VSCode一样每行代码结尾自动格式化加入“;”分号(JavaScript、TypeScript格式化)
Ctrl+Shift+S→编辑器→Code Style→JavaScript或TypeScript→Punctuation 1.每行代码结尾自动加上;分号: Use(下拉框选Use)semiconlo ...
- 100行代码让您学会JavaScript原生的Proxy设计模式
面向对象设计里的设计模式之Proxy(代理)模式,相信很多朋友已经很熟悉了. 其实和Java一样,JavaScript从语言层面来讲,也提供了对代理这个设计模式的原生支持.我们用一个不到100行代码的 ...
- 从浏览器端JavaScript代码进行服务器端日志记录
应用程序日志记录是我们在部署到应用程序服务器上的应用程序中都要做的事情,对吗? 对于大多数Java开发人员而言,使用Log4J或Logback之类的框架似乎都是理所当然的. 但是,我们编写的在那些讨厌 ...
- JavaScript 4行代码找出重复出现次数最多的元素及次数
JavaScript 4行代码找出重复出现次数最多的元素及次数 今天遇到的一个面试题,看起来比较简单,解题却用几个循环嵌套,感觉不对劲,后面又想了一个比较优雅的解法,如下: 解题思路 为数组内每个相同 ...
- python你TM太皮了——区区30行代码就能记录键盘的一举一动
先看看效果 Like This↓ 一.公共WiFi 公用电脑什么的 在我们日常在线上工作.玩耍时,不论开电脑.登录淘宝.玩网游 统统都会用到键盘输入 在几乎所有网站,例如淘宝.百度.126邮箱等等 为 ...
最新文章
- 深入浅出谈以太坊智能合约
- 那个当上非洲酋长的交大才子,如今怎么样了?
- 网站的PV、UV、的统计 (awk 统计命令)
- 洛谷 P1703 那个什么密码2
- 利用函数wavread对语音信号进行采样_语音信号处理相关知识
- Android sharedPreference设置缓存时间
- 面向接口编程,你考虑过性能吗?
- 安装卡主_智能温室四周玻璃的安装学问还这么多
- mysql profile 导出_MySQL数据的导出和导入工具:mysqldump_MySQL
- 祝贺JeecgBoot获评为2019年度最受欢迎中国开源软件
- 蓝奏云外链批量下载软件
- 区块链 solana TPS吞吐率
- 再谈WinRT自定义组件的开发
- 必收藏的九大塑料注塑成型技术及其特点
- Java 添加Word脚注、尾注
- 基于C语言制作的超级玛丽小游戏
- 给定某数字A(1≤A≤9)以及非负整数N(0≤N≤100000),求数列之和S=A+AA+AAA+⋯+AA⋯A(N个A)。例如A=1,N=3时,S=1+11+111=123。
- 云:SD-WAN不断增长的驱动力
- 17. 如何通过 SAP ABAP OData $expand 操作在同一个 HTTP 请求中返回多个节点的数据
- 假作真时真亦假,无为有处有还无