SmtpJS发送邮件教程

2020-09-15 14:37:59 浏览数 (1)

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

邮件内容

代码语言:javascript复制
<%@ 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

0 人点赞