本文实例为大家分享了java实现发送邮件的工具类,供大家参考,具体内容如下
SendEmailUtil
<dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.5</version> </dependency>
import javax.mail.Address; import javax.mail.Message; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import com.sun.mail.util.MailSSLSocketFactory; import java.io.FileOutputStream; import java.io.OutputStream; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Properties; public class SendmailUtil { //邮件服务器主机名 // QQ邮箱的 SMTP 服务器地址为: smtp.qq.com private static String myEmailSMTPHost = "smtp.qq.com"; //发件人邮箱 private static String myEmailAccount = "xxxxxxxxxx@xx.com"; //发件人邮箱密码(授权码) //在开启SMTP服务时会获取到一个授权码,把授权码填在这里 private static String myEmailPassword = "xxxxxxxxxxxx"; /** * 邮件单发(自由编辑短信,并发送,适用于私信) * * @param toEmailAddress 收件箱地址 * @param emailTitle 邮件主题 * @param emailContent 邮件内容 * @throws Exception */ public static void sendEmail(String toEmailAddress, String emailTitle, String emailContent) throws Exception{ Properties props = new Properties(); // 开启debug调试 props.setProperty("mail.debug", "true"); // 发送服务器需要身份验证 props.setProperty("mail.smtp.auth", "true"); // 端口号 props.put("mail.smtp.port", 465); // 设置邮件服务器主机名 props.setProperty("mail.smtp.host", myEmailSMTPHost); // 发送邮件协议名称 props.setProperty("mail.transport.protocol", "smtp"); /**SSL认证,注意腾讯邮箱是基于SSL加密的,所以需要开启才可以使用**/ MailSSLSocketFactory sf = new MailSSLSocketFactory(); sf.setTrustAllHosts(true); //设置是否使用ssl安全连接(一般都使用) props.put("mail.smtp.ssl.enable", "true"); props.put("mail.smtp.ssl.socketFactory", sf); //创建会话 Session session = Session.getInstance(props); //获取邮件对象 //发送的消息,基于观察者模式进行设计的 Message msg = new MimeMessage(session); //设置邮件标题 msg.setSubject(emailTitle); //设置邮件内容 //使用StringBuilder,因为StringBuilder加载速度会比String快,而且线程安全性也不错 StringBuilder builder = new StringBuilder(); //写入内容 builder.append("\n" + emailContent); //写入我的官网 builder.append("\n官网:" + "https://www.hbuecx.club"); //定义要输出日期字符串的格式 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //在内容后加入邮件发送的时间 builder.append("\n时间:" + sdf.format(new Date())); //设置显示的发件时间 msg.setSentDate(new Date()); //设置邮件内容 msg.setText(builder.toString()); //设置发件人邮箱 // InternetAddress 的三个参数分别为: 发件人邮箱, 显示的昵称(只用于显示, 没有特别的要求), 昵称的字符集编码 msg.setFrom(new InternetAddress(myEmailAccount,"你好!", "UTF-8")); //得到邮差对象 Transport transport = session.getTransport(); //连接自己的邮箱账户 //密码不是自己QQ邮箱的密码,而是在开启SMTP服务时所获取到的授权码 //connect(host, user, password) transport.connect( myEmailSMTPHost, myEmailAccount, myEmailPassword); //发送邮件 transport.sendMessage(msg, new Address[] { new InternetAddress(toEmailAddress) }); //将该邮件保存到本地 OutputStream out = new FileOutputStream("MyEmail.eml"); msg.writeTo(out); out.flush(); out.close(); transport.close(); } }
//toEmailAddress 目标邮箱地址 //emailTitle 邮件标题 //emailContent 邮件内容 SendmailUtil.sendEmail(toEmailAddress, emailTitle, emailContent);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍java邮件发送的实现,包括了java邮件发送的实现的使用技巧和注意事项,需要的朋友参考一下 邮件是在日常生活中,这篇文章主要介绍了java实现基于SMTP发送邮件的方法,实例分析了java基于SMTP服务发送邮件的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下. 1.写一个 MailSendProper 类封装需要的属性 2、写一个 EmailMessage 封装 发送信息
本文向大家介绍Java实现简单邮件发送,包括了Java实现简单邮件发送的使用技巧和注意事项,需要的朋友参考一下 JAVA MAIL是利用现有的邮件账户发送邮件的工具,比如说,我在网易注册一个邮箱账户,通过JAVA Mail的操控,我可以不亲自登录网易邮箱,让程序自动的使用网易邮箱发送邮件。这一机制被广泛的用在注册激活和垃圾邮件的发送等方面。 Java邮件发送的大致过程是这样的: 1、构建一个继承自
本文向大家介绍java实现发送邮件功能,包括了java实现发送邮件功能的使用技巧和注意事项,需要的朋友参考一下 前言 前段时间做一个紧急的功能,其中有部分需求是需要发邮件通知;通过查阅以及实验,很快的写了个发送邮件的功能;现在整理一下记录下来。 发送邮件 一、在pom中引入相关依赖 二、发送邮件的工具类 三、遇到的坑 在本地测试没有问题;我们的测试服务在阿里云上,阿里云对发送的时候是失败;追踪日志
本文向大家介绍C#实现QQ邮箱发送邮件,包括了C#实现QQ邮箱发送邮件的使用技巧和注意事项,需要的朋友参考一下 闲着蛋疼。计划着改善公司的邮件服务。怎料公司网络封闭的太厉害了。我只能在家里利用开放点的网络来测试发送邮件; 利用qq邮箱发送到公司的企业邮箱上; 前提准备,登陆qq邮箱开启stmp服务。不开启的话没法通过代码登陆到你的邮箱; 查询腾讯qq邮箱的smtp主机地址为:smtp.qq.com
本文向大家介绍Python实现SMTP邮件发送,包括了Python实现SMTP邮件发送的使用技巧和注意事项,需要的朋友参考一下 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。 python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。 SMTP
本文向大家介绍Java实现邮箱发送功能实例(阿里云邮箱推送),包括了Java实现邮箱发送功能实例(阿里云邮箱推送)的使用技巧和注意事项,需要的朋友参考一下 前言 绑定阿里云域名,创建域名账户,并配置解析域名账户,获得发送邮箱的权限,上限两百封,超出要¥… 阿里云邮件推送控制台 https://www.aliyun.com/product/directmail 申请邮箱并解析域名 https://y