Java(81):Java发邮件简单示例

article/2025/9/14 10:20:47

Java Email jar包下载地址:JavaMail API

https://www.oracle.com/java/technologies/javamail.html

JavaMail  右侧下载,选择jar包下载

API文档参考:JavaMail API documentation

https://javaee.github.io/javamail/docs/api/

或直接引用:

 <!-- https://mvnrepository.com/artifact/javax.mail/javax.mail-api -->

        <dependency>

            <groupId>javax.mail</groupId>

            <artifactId>javax.mail-api</artifactId>

            <version>1.6.2</version>

        </dependency>

        <dependency>

            <groupId>com.sun.mail</groupId>

            <artifactId>javax.mail</artifactId>

            <version>1.6.2</version>

        </dependency>

发送一封简单的Email

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.MimeMessage;
import java.util.Date;
import java.util.Properties;/*** @author : HMF* @ClassName javaEmail* @description 发送邮件测试* @date: 2022/3/12 11:04**/public class javaEmail {public static void main(String[] args){// 发件人电子邮箱String fromUser="hmf@xxx.com";String passwd="xxx";// 收件人电子邮箱String toUser="xxx@qq.com";//获取系统属性Properties pros=new Properties();pros.setProperty("mail.transport.protocol", "smtp");// 使用的协议pros.setProperty("mail.smtp.host", "smtp.exmail.qq.com");// 发件人的邮箱的SMTP服务器地址pros.setProperty("mail.smtp.auth", "true");// 需要请求认证//设置邮件服务器Session session=Session.getInstance(pros);try{//创建默认的MimeMessage 对象MimeMessage msg=new MimeMessage(session);//set Frommsg.setFrom(fromUser);//set Tomsg.setRecipients(Message.RecipientType.TO, toUser);//设置标题头msg.setSubject("JavaMail hello world example");//设置发送日期msg.setSentDate(new Date());//设置消息体msg.setText("发送邮件,Hello, world!\n");//发送消息Transport.send(msg, fromUser, passwd);System.out.println("Sent message successfully...");}catch (MessagingException mex){System.out.println("send failed,exception: "+mex);}}
}

邮件示例:

发送带有附件的Email

import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.*;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;
import java.util.Date;
import java.util.Properties;/*** @author : HMF* @ClassName javaEmail* @description 发送邮件测试* @date: 2022/3/12 11:04**/public class javaEmail {public static void main(String[] args){// 收件人电子邮箱String toUser="xxx@qq.com";// 发件人电子邮箱String fromUser="hmf@xxx.com";String passwd="xxx";//获取系统属性Properties pros=new Properties();pros.setProperty("mail.transport.protocol", "smtp");// 使用的协议pros.setProperty("mail.smtp.host", "smtp.exmail.qq.com");// 发件人的邮箱的SMTP服务器地址pros.setProperty("mail.smtp.auth", "true");// 需要请求认证//设置邮件服务器Session session=Session.getInstance(pros);try{//创建默认的MimeMessage 对象MimeMessage msg=new MimeMessage(session);//设置发件人msg.setFrom(fromUser);//设置接收人msg.setRecipients(Message.RecipientType.TO, toUser);//Subject: 邮件主题msg.setSubject("这是邮件的主题", "UTF-8");//创建多重消息MimeMultipart multipart = new MimeMultipart();// 创建消息部分BodyPart messageBody = new MimeBodyPart();// 消息messageBody.setText("发送邮件,带附件,HelloWorld!\n");// 设置文本消息部分multipart.addBodyPart(messageBody);//***以下部分为携带附件代码***MimeBodyPart file1 = new MimeBodyPart();String filename = "data.csv";DataSource source = new FileDataSource(filename);file1.setDataHandler(new DataHandler(source));file1.setFileName(filename);multipart.addBodyPart(file1);//***附件代码部分***//发送完整消息msg.setContent(multipart,"UTF-8");//设置发送时间msg.setSentDate(new Date());//发送邮件Transport.send(msg, fromUser, passwd);System.out.println("Sent message successfully...");}catch (MessagingException mex){System.out.println("send failed,exception: "+mex);}}
}

邮件示例:

参考:https://www.runoob.com/java/java-sending-email.html


http://chatgpt.dhexx.cn/article/1bCHWtK1.shtml

相关文章

java发送qq邮件_「java发邮件」Java 通过SMTP实现发送QQ邮件 - seo实验室

java发邮件 在Eclipse中创建项目&#xff0c;并把javax.amil.jar和commons-email-1.5,jar复制到项目中 链接&#xff1a;https://pan.baidu.com/s/1sQjA1GEpKi6IJJRGHKxjeA 密码&#xff1a;4ene 添加步骤&#xff1a; 1.首先在项目下创建一个文件夹&#xff0c;保存我们的jar包…

Java发邮件配置-hutool+腾讯企业邮箱

1、技术选型 1.1、hutool工具 1.2、javax.mail 1.3、腾讯企业邮箱2、环境准备 2.1、pom <!--javax.mail--><dependency><groupId>javax.mail</groupId><artifactId>mail</artifactId><version>1.4.7</version></dependen…

Java(83)Java发邮件简单工具类

1、Maven引用 <!-- https://mvnrepository.com/artifact/javax.mail/javax.mail-api --><dependency><groupId>javax.mail</groupId><artifactId>javax.mail-api</artifactId><version>1.6.2</version></dependency><…

java发邮件 动态切换当前发送人

最近项目需要实现一个发送邮件功能&#xff0c;踩了一些坑&#xff0c;最终实现了。 在此写一下心得 开始做的时候一塌糊涂&#xff0c;觉得挺难的&#xff0c;但是做完之后发现其实简单的一批&#xff0c;接下来我就来写一下实现流程。 1、准备好拿来发送邮件的账号&#xf…

Java 发邮件-带附件且正文html格式

入职新公司不久&#xff0c;接到一个给用户发邮件的需求&#xff0c;有两点需要说明的&#xff1a;1&#xff09;正文需要格式化&#xff1b;2&#xff09;需要带附件。 大概了解了一下需求&#xff0c;我马上开始思考&#xff0c;现有项目中是否有类似的接口可以支持&#xf…

java实现发送邮件

本文介绍下java实现邮件的发送&#xff0c;意在网站用户评论时能够及时通知站长和用户评论被回复后能够及时通知用户。 下文介绍下具体实现。 java实现 首先引入springboot的邮箱依赖 <dependency><groupId>org.springframework.boot</groupId><artif…

java邮件发送

一、JavaMail介绍 1、概述 JavaMail是利用现有的邮件账户发送邮件的工具&#xff0c;比如我在网易注册一个邮箱账户&#xff0c;通过JavaMail的操控&#xff0c;我可以不亲自登录网易邮箱&#xff0c;让程序自动的使用网易邮箱发送邮件。这一机制被广泛的用在注册激活和垃圾邮…

使用Java实现邮件的发送

数年前&#xff0c;邮件的发送是经过人为的运输&#xff0c;从发件人---当地邮局---收件地邮局---收件人&#xff0c;付出的人力物力是非常大的。随着时代的进步&#xff0c;科技的发展&#xff0c;如今我们的生活中出现更高级发送邮件的方式&#xff0c;最常用的就是从&#x…

Java发送邮件详解

目录 一、关于电子邮件 电子邮件 传输协议 SMTP协议 POP3协议 邮件收发原理 二、发送纯文本邮件 二、发送带图片和附件的邮件 一、关于电子邮件 电子邮件 要在网络上实现邮件功能&#xff0c;必须要有专门的邮件服务器。 这些邮件服务器类似于现实生活中的邮局&…

基于JavaMail的Java邮件发送:简单邮件发送

本文链接: https://blog.csdn.net/xietansheng/article/details/51673073 电子邮件的应用非常广泛&#xff0c;例如在某网站注册了一个账户&#xff0c;自动发送一封欢迎邮件&#xff0c;通过邮件找回密码&#xff0c;自动批量发送活动信息等。但这些应用不可能和我们自己平时…

js 实现计数器功能

1.运用 setInterval()定时器计算秒数 <!DOCTYPE html> <html><head><title>JS实现计数器</title><meta http-equiv"content-type" content"text/html; charsetgbk"><script src"https://cdn.bootcss.com/jqu…

element的formatter失效的解决方案

formatter传入数据失效 组件封装的时这样 使用方式还是和element的官方使用方式相同

html输入框只能输入文字,input文本框强制输入指定文字的方法以及IE11的兼容

背景:最近开发的韩国项目,在用户姓名输入框一栏中,要求只能输入韩文,通常用到onkeyup和onafterpaste两个事件来触发方法,并在方法中进行校验,但是在IE浏览器中,出现了一种情况,就是韩文单词拼写未完成的时候,会直接进行校验并显示,如下图实例所展示,并不是需要想要的…

jquery对表格行列的操作-jquery动态增加表格行或者列

jquery对表格的操作是老生常谈的问题。最近项目中用到了&#xff0c;今天在这里分享一下&#xff01; 效果大体如下&#xff1a; 分享一下代码吧&#xff01; html <div class"table-responsive" id"Bk_table" style"display:none;">&l…

动态改变Input和Textarea值Vue数据没有绑定的解决办法

背景&#xff1a; 我在循环里面的input框需要限制输入的值的类型&#xff0c;如果我绑定了change的方法的话 首先需要失去焦点才能生效&#xff0c;如果不失去焦点直接点击确定按钮是不能触发事件的 值还是原来的 &#xff0c;第二个如果层级多的话需要把索引什么的传过去用$se…

HTML 限制文本框只能输入数字 onkeyup+onafterpaste

限制文本框只能输入数字 < input onkeyup "if(isNaN(value))execCommand(undo)" onafterpaste "if(isNaN(value))execCommand(undo)" > < input name txt1 onchange "if(/\D/.test(this.value)){alert(只能输入数字);this.value;}" …

JAVAFX的table样式修改

直接上代码吧&#xff0c; .table-view{-fx-font-size: 16; 修改表格字体的大小 } 表头的背景设置 .table-view .column-header-background {-fx-background-color: #DBDBDB; } 表头设置 .table-view .column-header{-fx-border-color:#ffffff; -fx-border-width:0 1 …

bootstrap-table样式修改

bootstrap-table修改后的效果如下 1.删除边线 <style>.table>tbody>tr>td{border-top: 1px solid transparent !important;border-right: 1px solid transparent !important;border-left: 1px solid transparent !important;}.table>thead>tr>th{bord…

HTML常用table样式

转自&#xff1a;http://atgoingguoat.iteye.com/blog/2074431 常用table样式&#xff0c;备自己常年复制用。 效果图 Java代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.d…

一文图解自定义修改el-table样式

我们在使用element UI库的时候&#xff0c;确实给我们带来了许多便利&#xff0c;但是&#xff0c;往往组件库无法满足我们的业务需求&#xff0c;这时就需要我们在组件库的基础上修改样式。 今天水香木鱼一篇图解文章教大家如何在组件库的基础上去修改样式&#xff0c;今天我们…