SmtpJS发送邮件教程

SmtpJS

  • 什么是SmtpJS?
  • 开通POP3/SMTP服务
  • 导入插件
  • 发送邮件
  • 加密SMTP
  • 含附件

什么是SmtpJS?

SmtpJS是一款通过前端js代码发送邮件的插件,导入插件后,只需简单几行代码就能实现邮件发送。当然了,由于是前端,其安全性自然比后端javamail封装等弱一点,不过SmtpJS十分简易方便,强力安利。

开通POP3/SMTP服务

在介绍SmtpJS使用前,我们需要先准备一个开通POP3/SMTP服务的邮箱,如果已有,可以跳过此步骤。
我们以QQ邮箱为例,登录QQ邮箱后,设置->账户
SmtpJS发送邮件教程_第1张图片
找到POP3/SMTP服务点击开启
SmtpJS发送邮件教程_第2张图片
完成相应密保验证
SmtpJS发送邮件教程_第3张图片
之后获取对应授权码。
SmtpJS发送邮件教程_第4张图片
至此你的QQ邮箱就开通了POP3/SMTP服务。

导入插件

去到SmtpJS官网下载smtp.js
我也上传到了github
SmtpJS发送邮件教程_第5张图片
如果不想下载的话也可以用官网地址,不过还是推荐前者。

<script src="https://smtpjs.com/v3/smtp.js">
</script>

发送邮件

参数说明

参数 说明
Host 你所用邮箱的smtp地址
Username 你的邮箱用户名(如[email protected]
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 : '[email protected]',
    From : "[email protected]",
    Subject : "This is the subject",
    Body : "And this is the body"
}).then(
  message => alert(message)
);
</script>
</body>
</html>

SmtpJS发送邮件教程_第6张图片
至此我们就成功的发送了邮件!(。・∀・)ノ

附上各邮箱的端口及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
SmtpJS发送邮件教程_第7张图片
仍以QQ邮箱为例,点击Generate security token
SmtpJS发送邮件教程_第8张图片
然后生成了一个密钥
SmtpJS发送邮件教程_第9张图片
替换成你的密钥即可

Email.send({
    SecureToken : "密钥",
    To : '[email protected]',
    From : "[email protected]",
    Subject : "This is the subject",
    Body : "And this is the body"
}).then(
  message => alert(message)
);

含附件

即多一个Attachments参数

Email.send({
    SecureToken : "密钥",
    To : '[email protected]',
    From : "[email protected]",
    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)
);

你的点赞将会是我最大的动力

你可能感兴趣的:(Web,smtp,javascript,js)