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发送邮件(记录)相关推荐

  1. 用 65 行代码实现 JavaScript 动画序列播放

    最近在给学生上课,上周六的第一堂课是关于 JavaScript 动画的内容,其中包括一些简单的动画,比如匀速或者匀加/减速的运动,也包括复杂一些的组合动画.而动画的基本原理,在我之前的文章[1]已经有 ...

  2. 280行代码:Javascript 写的2048游戏

    2048 原作者就是用Js写的,一直想尝试,但久久未动手. 昨天教学生学习JS代码.不妨就做个有趣的游戏好了.2048这么火,是一个不错的选择. 思路: 1. 数组 ,2维数组4x4 2. 移动算法, ...

  3. JavaScript开发区块链只需200行代码

    JavaScript开发区块链只需200行代码 用JavaScript开发实现一个简单区块链.通过这一开发过程,你将理解区块链技术是什么:区块链就是一个分布式数据库,存储结构是一个不断增长的链表,链表 ...

  4. 有奖互动 | 秋天的第一行代码

    活动信息 活动时间 2021年9月17日-9月23日 活动规则 登录NGINX社区网站在活动主贴留言,评选出10位获奖者 活动奖品 NGINX社区独家定制的精美纪念T恤衫1件 参与方式 主贴活动传送门 ...

  5. blockchain 区块链200行代码:在JavaScript实现的一个简单的例子

    blockchain 区块链200行代码:在JavaScript实现的一个简单的例子 了解blockchain的概念很简单(区块链,交易链块):它是分布式的(即不是放置在同一台机器上,不同的网络设备上 ...

  6. 设置WebStorm像VSCode一样每行代码结尾自动格式化加入“;”分号(JavaScript、TypeScript格式化)

    Ctrl+Shift+S→编辑器→Code Style→JavaScript或TypeScript→Punctuation 1.每行代码结尾自动加上;分号: Use(下拉框选Use)semiconlo ...

  7. 100行代码让您学会JavaScript原生的Proxy设计模式

    面向对象设计里的设计模式之Proxy(代理)模式,相信很多朋友已经很熟悉了. 其实和Java一样,JavaScript从语言层面来讲,也提供了对代理这个设计模式的原生支持.我们用一个不到100行代码的 ...

  8. 从浏览器端JavaScript代码进行服务器端日志记录

    应用程序日志记录是我们在部署到应用程序服务器上的应用程序中都要做的事情,对吗? 对于大多数Java开发人员而言,使用Log4J或Logback之类的框架似乎都是理所当然的. 但是,我们编写的在那些讨厌 ...

  9. JavaScript 4行代码找出重复出现次数最多的元素及次数

    JavaScript 4行代码找出重复出现次数最多的元素及次数 今天遇到的一个面试题,看起来比较简单,解题却用几个循环嵌套,感觉不对劲,后面又想了一个比较优雅的解法,如下: 解题思路 为数组内每个相同 ...

  10. python你TM太皮了——区区30行代码就能记录键盘的一举一动

    先看看效果 Like This↓ 一.公共WiFi 公用电脑什么的 在我们日常在线上工作.玩耍时,不论开电脑.登录淘宝.玩网游 统统都会用到键盘输入 在几乎所有网站,例如淘宝.百度.126邮箱等等 为 ...

最新文章

  1. imp 只导表前10条数据_Excel数据规范化10条原则,让你的工作效率快速提升
  2. MappedByteBuffer,可以让文件直接在内存(堆外内存)修改,操作系统不需要拷贝一次。而如何同步到文件由NIO来完成
  3. CTFshow 信息收集 web19
  4. mysql 打印_故障分析 | MySQL:5.6大事务show engine innodb status故障一例
  5. Python2.7安装ncmbot时提示:Microsoft Visual C++9.0 is required
  6. hdu 5568(dp+大数模拟)
  7. 梯度下降优化方法'原理_优化梯度下降的新方法
  8. 赌博小游戏java开发_Java打飞机小游戏(附完整源码)
  9. Eviews6 7 软件安装包
  10. 软件库网站源码+附手机版 带多套模板 图文教程
  11. 印象笔记 离线版_印象笔记离线版
  12. 【CASS精品教程】CASS快捷键大全吐血整理
  13. 基于Python的QQ空间相册中的所有照片下载器
  14. linux lsof详解
  15. Jquery Validate 设置不显示验证信息
  16. Android 利用adb命令 使App自动点击屏幕指定位置
  17. 使用形态学提取连续背景的断层(erosion_rectangle1算子)
  18. 认知MOS管-必懂MOS管11个基础知识点及分析
  19. 世界上第一台现代电子计算机每秒可进行,世界上第一台现代电子计算机是
  20. switch语句及三种循环语句

热门文章

  1. python实现多人脸识别
  2. 电场在计算机专业的应用,电磁学在电力系统中的应用
  3. JS 特效代码 400例
  4. 移植emwin到stm32f205上卡死在gui_init();
  5. VC dimension(Vapnik-Chervonenkis dimension)
  6. 基于Java的酒店管理系统论文
  7. 使用python对bin文件进行操作
  8. CImage 从内存中读取图像
  9. 有关嵌入式的 github
  10. ISO-9001质量管理体系认证经验分享