SmtpJS 几行代码实现javascript发送邮件(记录)

36 篇文章 0 订阅
30 篇文章 0 订阅


前言

在不考虑安全性的前提下,不通过后台手段使用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",//获取到的token
  To: '收件人邮箱',
  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

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
JavaScript 表单验证是一个非常常见的需求,可以通过 JavaScript 来验证表单是否符合指定的格式要求。 以下是一个简单的表单验证示例: ```html <html> <head> <title>表单验证</title> <script type="text/javascript"> function validateForm() { var name = document.forms["myForm"]["name"].value; var email = document.forms["myForm"]["email"].value; if (name == "") { alert("请填写姓名"); return false; } if (email == "") { alert("请填写电子邮件地址"); return false; } if (email.indexOf("@") == -1) { alert("请输入有效的电子邮件地址"); return false; } return true; } </script> </head> <body> <form name="myForm" onsubmit="return validateForm()" method="post"> <label for="name">姓名:</label> <input type="text" name="name" id="name"><br> <label for="email">电子邮件地址:</label> <input type="email" name="email" id="email"><br> <input type="submit" value="提交"> </form> </body> </html> ``` 在这个例子中,我们使用了 `validateForm()` 函数来验证表单。首先,我们获取了表单中的姓名和电子邮件地址,然后逐一进行验证。如果某个字段未填写或者电子邮件地址不符合格式要求,就会弹出相应的提示信息并返回 `false`。最后,如果表单中的所有字段都符合要求,就会返回 `true`,表单就会被提交。 在实际项目中,表单验证可能会更加复杂。可以使用正则表达式等工具来进行更加精确的验证。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值