SmtpJS
- 什么是SmtpJS?
- 开通POP3/SMTP服务
- 导入插件
- 发送邮件
- 加密SMTP
- 含附件
什么是SmtpJS?
SmtpJS是一款通过前端js代码发送邮件的插件,导入插件后,只需简单几行代码就能实现邮件发送。当然了,由于是前端,其安全性自然比后端javamail封装等弱一点,不过SmtpJS十分简易方便,强力安利。
开通POP3/SMTP服务
在介绍SmtpJS使用前,我们需要先准备一个开通POP3/SMTP服务的邮箱,如果已有,可以跳过此步骤。 我们以QQ邮箱为例,登录QQ邮箱后,设置->账户
找到POP3/SMTP服务点击开启
完成相应密保验证
之后获取对应授权码。
至此你的QQ邮箱就开通了POP3/SMTP服务。
导入插件
去到SmtpJS官网下载smtp.js 我也上传到了github
如果不想下载的话也可以用官网地址,不过还是推荐前者。
代码语言:javascript复制<script src="https://smtpjs.com/v3/smtp.js">
</script>
发送邮件
参数说明
参数 | 说明 |
---|---|
Host | 你所用邮箱的smtp地址 |
Username | 你的邮箱用户名(如xxx@qq.com) |
Password | 你的邮箱密码(之前开通服务的授权码) |
To | 收件人邮箱地址 |
From | 发件人邮箱地址 |
Subject | 邮件主题 |
Body | 邮件内容 |
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>发送邮件测试</title>
<%
pageContext.setAttribute("APP_PATH",request.getContextPath());
%>
<script type="text/javascript" src="${APP_PATH}/static/js/smtp.js"></script>
</head>
<body>
<script type="text/javascript">
Email.send({
Host : "smtp.yourisp.com",
Username : "username",
Password : "password",
To : 'them@website.com',
From : "you@isp.com",
Subject : "This is the subject",
Body : "And this is the body"
}).then(
message => alert(message)
);
</script>
</body>
</html>
至此我们就成功的发送了邮件!(。・∀・)ノ
附上各邮箱的端口及smtp地址:
邮箱 | pop地址 | smtp地址 | 端口 |
---|---|---|---|
188 邮箱 | pop3.188.com | smtp.188.com | 25 |
163 邮箱 | pop3.163.com | smtp.163.com | 25 |
126 邮箱 | pop3.126.com | smtp.126.com | 25 |
netease 邮箱 | pop.netease.com | smtp.netease.com | 25 |
yeah 邮箱 | pop.yeah.net | smtp.yeah.net | 25 |
QQ 邮箱 | pop.qq.com | smtp.qq.com | 465或587 |
网易企业邮箱 | pop3.163.com | smtp.qiye.163.com | 994 |
腾讯企业邮箱 | pop.qq.com | smtp.exmail.qq.com | 25 |
加密SMTP
在官网点击Encrypt your SMTP Credentials
仍以QQ邮箱为例,点击Generate security token
然后生成了一个密钥
替换成你的密钥即可
代码语言:javascript复制Email.send({
SecureToken : "密钥",
To : 'them@website.com',
From : "you@isp.com",
Subject : "This is the subject",
Body : "And this is the body"
}).then(
message => alert(message)
);
含附件
即多一个Attachments参数
代码语言:javascript复制Email.send({
SecureToken : "密钥",
To : 'them@website.com',
From : "you@isp.com",
Subject : "This is the subject",
Body : "And this is the body",
Attachments : [
{
name : "smtpjs.png",
path : "https://networkprogramming.files.wordpress.com/2017/11/smtpjs.png"
}]
}).then(
message => alert(message)
);
原创不易,请勿转载(
本不富裕的访问量雪上加霜) 博主首页:https://blog.csdn.net/qq_45034708