Java使用QQ邮箱或网易163邮箱发送自定义CSS样式邮件

  • 前言
  • 一、战前准备
    • 1.导入依赖
    • 2.配置文件
    • 3.邮箱工具类
  • 二、战争开始
    • 1.QQ邮箱发送
    • 2.网易邮箱发送
  • 战后反思

前言

我们可能有时候项目中会有需求要给客户或者员工发送一些提醒之类的邮件,这时候我们就可以使用Java并且利用定时器完成该操作


一、战前准备

1.导入依赖

这里我们使用Maven项目,在pom文件中导入所需要的mail的jar包

<!--邮件-->
<dependency><groupId>javax.mail</groupId><artifactId>mail</artifactId><version>1.4.7</version>
</dependency>

2.配置文件

先来创建一个properties配置文件吧

#isMail=Yes
isMail=No# 使用QQ邮箱发送使用该host
mail.host=smtp.qq.com
# 使用网易邮箱发送使用该host
#mail.host=smtp.163.com# smtp协议
mail.transport.protocol=smtp# 是否开启认证
mail.smtp.auth=true# 定义发送者的邮箱
fromMail=xxx@163.com
fromQQMail=xxx@qq.com

3.邮箱工具类

先来使用网易163给别的邮箱发送邮件

package cn.liu783.vueappjava.util;import org.springframework.core.io.support.PropertiesLoaderUtils;import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeUtility;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Properties;public class MailUtils {public static void send163Mail(String address, String headline, String content) {Thread thread = new Thread(() -> {Properties properties = null;try {// 读取配置文件properties = PropertiesLoaderUtils.loadAllProperties("properties/mail.properties");} catch (IOException e1) {e1.printStackTrace();}// 开始auth认证,需要你输入你密码Properties finalProperties = properties;Session session = Session.getDefaultInstance(properties, new Authenticator() {@Overrideprotected PasswordAuthentication getPasswordAuthentication() {// 获取发送者邮箱,并填写密码return new PasswordAuthentication(finalProperties.getProperty("fromMail") , "你的密码");}});
//            Session session = Session.getDefaultInstance(properties);// 开启Debug日志session.setDebug(true);try {System.out.println("使用网易邮箱发送邮件");Transport transport = session.getTransport();transport.connect();MimeMessage mimeMessage = new MimeMessage(session);mimeMessage.setFrom(new InternetAddress(properties.getProperty("fromMail")));mimeMessage.setRecipients(Message.RecipientType.TO, address);String subjects = MimeUtility.encodeWord(headline, "UTF-8", "Q");mimeMessage.setSubject(subjects);mimeMessage.setContent(content, "text/html;charset=UTF-8");transport.sendMessage(mimeMessage, mimeMessage.getAllRecipients());transport.close();System.out.println("使用网易邮箱发送邮件完成");} catch (MessagingException e) {e.printStackTrace();} catch (UnsupportedEncodingException e) {e.printStackTrace();}});thread.start();}}

二、战争开始

1.QQ邮箱发送

方法复制一份,然后把 fromMail 都改为fromQQMail,然后记得注释掉配置文件中其他的mail.host

public static void main(String[] args) {// 设置要发送的文本,html格式,所以可以内嵌cssString content = "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"font-family:'黑体',Helvetica,Arial,sans-serif;font-size:14px;background: lightblue;border-radius: 10px;\" width=\"100%\"><tbody><tr>\n" +"\t\t<td style=\"font-family:Helvetica,Arial,sans-serif;font-size:14px;text-align: center;color: white;\">\n" +"\t\t<h3 style=\"margin: 15px 0px;\">页面访问升级中...</h3>\n" +"\t\t<a style=\"display: inline-block;text-decoration:none;width: 150px;height: 40px;background: steelblue;line-height: 40px;color: white;border-radius: 10px;margin-bottom: 20px;\" \n" +"\t\thref=\"xxx\">www.se783.co</a>\n" +"\t\t<hr style=\"color:steelblue;border: 2px solid aliceblue;margin: 5px 20px;border-radius: 10px;\">\n" +"\t\t<h5>温馨提示<br>海外网络永久域名<br>www.se783.co<br>记住防止迷路</h5>\n" +"\t\t<table width=\"100%\" border=\"0\" cellpadding=\"5\" cellspacing=\"0\"><tbody><tr>\n" +"\t\t<td style=\"text-align: right;\">\n" +"\t\t<p style=\"font-size:14px;line-height:24px;font-family: '黑体', sans-serif;padding:0px 10px;margin:8px\">尊敬的访问者:<b>FanX</b></p>\n" +"\t\t<p style=\"color:white;font-size:14px;line-height:24px;font-family:'黑体',Helvetica,Arial,sans-serif;padding:0px 10px;margin:8px\">您的访问次数程度:<span style=\"color:#af5c61;\">99颗星</span> (最高5颗星)</p>\n" +"\t\t</td></tr></tbody></table></td></tr></tbody></table>";
//        send163Mail("2217892328@qq.com","你好鸭												

Java使用QQ邮箱或网易163邮箱发送自定义CSS样式邮件相关推荐

  1. java 网易的yeah邮箱_网易163邮箱、yeah邮箱横向对比

    网易目前163.126仍在4.0版本向5.0的逐渐过渡当中,yeah邮箱在8月8日网易5.0版新闻发布会前已上线使用版本,目前,用户对新版yeah邮箱的反应很好. 下面,就让我们一起对比看一下网易4. ...

  2. Java发送邮件(网易163邮箱)(简单易操作篇)

    文章目录 一.前言 二.事先准备步骤 三.Java具体代码实现 1. 类有哪几个? 2.jar包配置 3.关键代码功能简介 4.具体代码 4.1 MailConst.java 负责存放一些配置 4.2 ...

  3. pycharm发送邮件(QQ邮箱和网易163为例)

    QQ邮件: # 用于发送邮件的模块 import smtplib# QQ邮箱/163邮箱的邮件发送:py文件发送邮件内容相当于一个第三方的客户端,借助于QQ/163邮箱服务器来发送的邮件.# QQ邮件 ...

  4. java163邮箱服务器地址,JavaEmail发送网易163邮箱和QQ邮箱

    引入javamail的坐标依赖!省略!直接展示中心思想! @Component public class EmailUtil { /** * todo 发送QQ邮箱 */ public void se ...

  5. SpringBoot 2.x 集成QQ邮箱、网易系邮箱、Gmail邮箱发送邮件

    在Spring中提供了非常好用的 JavaMailSender接口实现邮件发送,在SpringBoot的Starter模块中也为此提供了自动化配置. 项目源码已托管在Gitee-SpringBoot_ ...

  6. 网易163邮箱配置-iOS、OS X邮箱客户端

    最近在找工作,及时收取笔试和面试通知邮件是非常有必要的,想用一个客户端同时收取foxmail邮箱和163邮箱.有人会说,用一个邮箱不就行了,干嘛自己给自己找麻烦?那么问题来了,碰上个死对头公司,像36 ...

  7. 程序模拟网易163邮箱注册帮助文档

    今天有朋友想要用程序模拟网易163邮箱注册,但是遇到了一些小问题,小菜特准备了一篇文档,希望可以帮到需要的朋友. 模拟程序整体流程图: 整个过程必须使用同一个模拟对象! 注册说明: l  post方式 ...

  8. python模拟登录网易163邮箱并发送SOS邮件

    基本环境配置 1. Selenium - 建议使用低版本的Python-Selenium库,因为高版本在Chrome中不支持. pip3 install selenium==2.48.0 2. chr ...

  9. 新技能获取:如何查询网易163邮箱具体的注册日期,包括年月日

    这几天突发奇想,脑子里凭空产生了壹個困扰我好几天的问题:应该怎么做才能查询到网易163邮箱的具体注册日期?之所以会产生这样的疑问,是因为网易163邮箱本身提供的信息不够精确,在网易免费邮箱官方博客里, ...

最新文章

  1. IDEA设置git提交需要忽略的文件
  2. java源文件扩展名_java源文件名的后缀是什么?
  3. 领域驱动设计,让程序员心中有码(三)
  4. mysql锁表更新_Mysql InnoDB 数据更新导致锁表
  5. python3多线程编程_Python 3多线程编程学习笔记-基础篇
  6. RazorExtensions Templated Razor Delegates
  7. 2017.10.25 打鼹鼠 思考记录
  8. 游戏大魔王少不了王者荣耀壁纸图片
  9. 软件设计师23-存储器系统02
  10. 武装你的小程序——开发流程指南
  11. 电力系统微型计算机继电保护试题,电力系统微型计算机继电保护 复习考试题及答案...
  12. java读取文件 classpath_Java读取Classpath文件
  13. B1299 [LLH邀请赛]巧克力棒 博弈论
  14. VSTest.Console.exe 的使用
  15. linux版本信息以及x86与x86_64的区别
  16. as打包app连不上网络_1000M光纤到户RT-AC68U配单只Lyra Trio织女星家庭AiMesh网络搭建...
  17. mysql的填充因子_sql server填充因子
  18. Unity 引擎开始从 Mono 迁移到 .NET CoreCLR
  19. [ 英语 ] 马斯克抱水槽“入主”推特总部中那句 Let that sink in 到底是什么梗?
  20. 攻防世界 web NaNNaNNaNNaN-Batman

热门文章

  1. linux系统移动(剪贴)文件、文件夹命令
  2. UTF8 转GB 中文字符
  3. 华为v10的android版本,华为荣耀V10高配版和标准版什么区别 V10标准版和高配版 - 99安卓游戏...
  4. 联发科秘密武器MT6589M介绍及与MT6589对比
  5. uni-app音频组件控制的使用
  6. python画loss或者accuracy曲线图
  7. 360 c语言笔试题 或与问题
  8. 什么是量比(急跌无量是恐吓,缓跌放量赶紧撤)
  9. 意大利CALZEDONIA携手杨幂演绎全新2020春季系列大片
  10. 仔细观察外贸业务员的存在