使用JavaMail发送邮件

使用javamail发送HTML邮件 通常情况下,发送html格式的邮件,需要手工创建一个嵌入了HTML标签的字符串,然后将这个字符串设为Content进行发送。 但是如果邮件内容比较多的话,构造这样一个字符串将变得非常复杂。经过实践,我总结了下面的方法来发送嵌入大量HTML格式的邮件。 首先,将需要通过邮件发送 阅读详情
package test;

import java.util.Date;
import java.util.Properties;
import javax.mail.Address;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

/**
 * 发送普通邮件,接受普通邮件 发送带有附件的邮件,接收带有附件的邮件 发送html形式的邮件,接受html形式的邮件 发送带有图片的邮件等做了一个总结。
 */
public class SendMail {

	// 邮箱服务器
	private String host = "smtp.163.com";
	// 这个是你的邮箱用户名
	private String username = "******@163.com";
	// 你的邮箱密码
	private String password = "******";

	private String mail_head_name = "邮件标题";

	private String mail_head_value = "邮件标题";

	private String mail_to = "******@qq.com";

	private String mail_from = "******@163.com";

	private String mail_subject = "邮件标题";

	private String mail_body = "邮件的内容";

	private String personalName = "JavaMail发送邮件测试";

	/**
	 * 此段代码用来发送普通电子邮件
	 */
	public void send() throws Exception {
		try {
			Properties props = new Properties(); // 获取系统环境
			Authenticator auth = new Email_Autherticator(); // 进行邮件服务器用户认证
			props.put("mail.smtp.host", host);
			props.put("mail.smtp.auth", "true");
			Session session = Session.getDefaultInstance(props, auth);
			// 设置session,和邮件服务器进行通讯。
			MimeMessage message = new MimeMessage(session);
			// message.setContent("foobar, "application/x-foobar"); // 设置邮件格式
			message.setSubject(mail_subject); // 设置邮件主题
			message.setText(mail_body); // 设置邮件正文
			message.setHeader(mail_head_name, mail_head_value); // 设置邮件标题
			message.setSentDate(new Date()); // 设置邮件发送日期
			Address address = new InternetAddress(mail_from, personalName);
			message.setFrom(address); // 设置邮件发送者的地址
			Address toAddress = new InternetAddress(mail_to); // 设置邮件接收方的地址
			message.addRecipient(Message.RecipientType.TO, toAddress);
			Transport.send(message); // 发送邮件
			System.out.println("send ok!");
		} catch (Exception ex) {
			ex.printStackTrace();
			throw new Exception(ex.getMessage());
		}
	}

	/**
	 * 用来进行服务器对用户的认证
	 */
	public class Email_Autherticator extends Authenticator {
		public Email_Autherticator() {
			super();
		}

		public Email_Autherticator(String user, String pwd) {
			super();
			username = user;
			password = pwd;
		}

		public PasswordAuthentication getPasswordAuthentication() {
			return new PasswordAuthentication(username, password);
		}
	}

	public static void main(String[] args) {
		SendMail sendmail = new SendMail();
		try {
			sendmail.send();
		} catch (Exception ex) {
		}
	}

}

 

需要的jar:javax.mail.jar  http://download.youkuaiyun.com/detail/javaalpha/5624731

使用javaMail发送文本邮件和带附件邮件以及android后台发送邮件 一、使用javamail发送普通文本邮件 发送电子邮件 主要步骤如下: 1,获取系统Properties. Properties props = System.getProperties(); 2,将您的SMTP服务器名添加到mail.smtp.host关键字的属性中. Props.pout( “ mail.smtp.host ” ,host); 3,获取基于Prop 阅读详情

相关推荐

Pulpino SoC中挂载AXI从机接口的自定义IP说明

AXI 从机接口挂载 Pulpino SoC 调试Pulpino SoC中挂载AXI从机接口的自定义IP说明PULPion SoC介绍自定义AXI IP挂载IP挂载框图代码修改脚本修改自定义AXI IP调试C语言编写软件调试硬件调试 Pulpino SoC中挂载AXI从机接口的自定义IP说明 本篇文章主要从工程的角度描述了如何将具有AXI从机接口的自定义IP挂载到Pulpino SoC上,其中不涉及到SoC中的任何原理知识。 PULPion SoC介绍 PULPion SoC整体架构如下图所示, PULPi

小陈的芯片学习之路 2211

优化JavaMail发送性能

本文优化JavaMail发送性能的原则: 一个连接发送多个邮件 Java代码 SessionmailSession=Session.getDefaultInstance(props); Transporttransport=mailSession.getTransport("smtp"); transport.connect("1...

weixin_30265171的博客 1091

智能车实战——从ADC采集到PWM控制,让电磁车精准循迹

本文详细介绍了电磁循迹智能车的实现原理与实战技巧,涵盖从ADC信号采集、PWM控制到PID算法整定的全流程。通过STM32代码示例解析电感信号处理、差比和偏差计算及电机驱动等关键技术,帮助开发者快速掌握智能车精准循迹的核心方法,提升电磁车竞赛项目的开发效率。

weixin_29192211的博客 301

基于javaMail发送邮件的实现

关于JavaMail发送验证邮件的心得:   qq邮箱默认SMTP/POP3服务是关闭的,其他邮箱是默认开启的。   qq邮箱开启SMTP/POP3服务时会要求使用授权码,并在使用第三方客户端发送   邮件时用授权码代替密码。所以使用qq邮箱的SMTP服务时,邮箱+授权码。   使用其他邮箱的SMTP服务时,邮箱+密码:   成功代码如下:   package com.google.c

TangLingGuang的博客 5971

Win10管理员权限的‘暗门’:从mmc.exe被阻止,聊聊UAC与自动提权那些事儿

本文深入解析Windows 10中UAC(用户账户控制)与自动提权机制,探讨mmc.exe被阻止的深层原因及解决方案。从UAC工作原理到自动提权机制,再到具体诊断与修复步骤,帮助用户理解并解决权限管理问题,同时平衡安全性与便利性。

weixin_30521161的博客 419

VScode+MPLAB AI助手:Microchip MCU开发全流程实战解析

本文详细解析了如何使用VScode搭配MPLAB AI助手进行Microchip MCU开发的完整流程。从环境配置、工程创建到代码生成与调试,全面介绍了AI助手在提升开发效率、优化代码和故障排除方面的实际应用,为嵌入式开发者提供了一套高效的开发解决方案。

hh234的博客 1131

关于Javaemail发送邮件时遇到的问题

1.导包             首先在网上找到了需要用到的jar包,两个就好。分别是:javax.mail和javax.activation,于是我在POM.xml文件中就导入了依赖。     javax.mail     javax.mail-api     1.4.7     javax.activation     activation     1.1.1

慎独 1221

基于Simulink进行多相电机EMI抑制的仿真建模

特点高可靠性:通过增加相数来提供冗余,增强系统的故障容忍度。低转矩脉动:改善了电机的动态性能,减少了转矩波动。复杂的EMI管理:更多的相数意味着更复杂的电磁环境,增加了EMI抑制的难度。挑战模型复杂性:涉及电气、机械和电磁场等多个领域的相互作用。实时性要求:控制系统需要能够快速响应以适应动态负载变化。多变量优化:包括滤波器设计、PWM调制策略等在内的多个参数需综合考虑以找到最优解。使用Simscape Electrical库来构建一个多相电机模型。

amy_mhd的博客 273

JavaMail邮件发送不成功的那些坑人情况及分析说明

前言   JavaMail的使用本身并不难,网上有不少案例,简单易懂,而且有详细的中文注解。但是由于JavaMail的机制设置不够完善,特别是异常出错时的参考信息太少,给初学者造成了不少麻烦,而我就是其中之一。在此,把我遇到过得那些坑总结出来,以免大家重蹈覆辙,浪费时间。(注:后续还有遇到新的问题,我会持续更新到这里) 一、JavaMai...

weixin_34130269的博客 6337

手把手教你学Simulink--电机控制架构与算法实现​场景示例:基于Simulink的电机速度环PID调节仿真

本文带你完成了电机速度环PID参数的科学整定,实现了:✅ 理解了速度环的级联系统特性与关键参数影响工程整定法(理论初值)系统辨识法(参数未知时)✅ PID Tuner自动调参(推荐!自动调参兼具快速性与鲁棒性✅ 学会了前馈补偿抗饱和等工程实用技巧。

MHD0815的博客 653

Modbus RTU/TCP协议栈手写实现:主从站设计、功能码、CRC、异常响应

本文从协议栈架构、帧结构、功能码、CRC校验、异常响应、主从站设计等多个维度,完整阐述了Modbus RTU/TCP协议栈的手写实现方案。帧间隔机制是RTU的核心,T3.5超时检测决定了帧边界识别CRC16查表法以512字节ROM换取8倍性能提升,适合嵌入式功能码路由表实现可扩展的代码架构,便于新增功能异常响应机制保障协议健壮性,每个错误都有明确反馈Modbus TCP在RTU基础上增加MBAP头,实现以太网扩展多核RTOS环境下的并发访问与线程安全RS-485总线的电气隔离与浪涌保护。

从事移动开发八年,csdn博客专家,阿里云特邀专家,华为云云享专家,高级网络信息安全工程师,大数据工程师(高级),python技术开发(高级),HarmonyOS 应用开发者高级认证,现在某学校任教。 1万+

JAVA使用Transport类发送邮件的巨坑

最近做了定时器定时批量发邮件的代码,不够总是两三天定时器就停了,一直在排查定时器,线程池的问题,没想到最后是因为Transport类的坑。原文链接https://blog.youkuaiyun.com/j16421881/article/details/78513218 //在初始化邮件的时候加入这些参数,设置下超时时间,默认的是无穷大 Properties props = new Propert...

实习生小白起步的博客 4510

第1章 环境准备

本章是 Kubernetes 高可用集群部署的前置基础环境配置,所有节点必须严格按顺序执行。主要内容包括:节点规划(IP、角色、配置要求)、VMware 克隆节点环境清理(解决 MAC 地址和主机名冲突)、统一工作目录创建、主机名与 hosts 解析配置、系统基础升级、防火墙与 swap 关闭、内核模块加载(overlay、br_netfilter、ip_vs)、网络参数优化(IP 转发、桥接过滤)、时间同步配置等。Ubuntu 24.04 内核 6.8+ 原生支持 eBPF 和 IPVS,无需手动升级内核

幸福街--linux技术分享 210

JavaMail-使用Java发送邮件

相关文章: commons-email邮件工具类的基本使用 SpringBoot发送邮件 目录 简介: 一、发送正文只含文字的邮件 二、发送正文含有图片的邮件 三、发送一封含有附件的邮件 四、发送一封正文含有图片且附带附件的邮件 简介: JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口。它是Sun发布的用来处理email的API。它可以方便地执行一些常用的邮件...

淋雨一直走啊 4436

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

使用JavaMail发送邮件时判断发送结…

1、获取邮件发送结果     网上看大多数例子,都是调用Transport类的sendMessage方法后就收工了。但sendMessage方法没有返回值的,而且是一个异步的方法(也就是函数调用结束的时候邮件的发送过程并未结束)。我们可以通过Transport的addTransportListener方法增加邮件发送结果的Listener,Listener接口有三个方法: void message

runyon的博客 1万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

java 发送邮件 outlook_使用JavaMail发送邮件

一、邮件的相关概念邮件协议。主要包括:SMTP协议:Simple Mail Transfer Protocol,即简单邮件传输协议,用于发送电子邮件POP3协议:Post Office Protocol 3,即邮局协议的第三个版本,用于接收邮件IMAP协议:Internet Message Access Protocol,即互联网消息访问协议,是POP3的替代协议二、搭建James邮件服务器Jam...

weixin_29817227的博客 1906

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

使用JavaMail发送一封简单的邮件

什么是Java Mail   (1)要自己写程序发送和接收邮件,可以直接采用Socket编程连接上远程的邮件服务器,然后按照邮件协议与邮件服务器进行交互,涉及较多细节。另外,要想自己编程创建出复杂的MIME格式的邮件,是一件非常困难和麻烦的事情。   (2)JavaMail 是Sun公司为方便Java开发人员在应用程序中实现邮件发送和接收功能而提供的一套标准开发包,它支持一些常用的邮件协议,如

ITSTAR 2889

使用 JavaMail 创建邮件和发送邮件

JavaMail 创建的邮件是基于 MIME 协议的。因此可以使用 JavaMail 创建出包含图片,包含附件的复杂邮件。 一、JavaMail的api介绍 二、创建邮件发送测试项目 完整代码示例 import java.io.FileOutputStream; import java.util.Properties; import javax.activation.DataHandle...

程序员世杰 959

使用javaMail发送html邮件

使用javaMail发送html邮件添加依赖创建MailInfo实体类创建邮件发送工具类MailSendUtil业务处理(邮件发送) 一个博客怎么能少得了邮件功能,于是我想到在留言的同时还可以发送邮件通知,但只限于管理员可以发送邮件。只是普通的发送文本邮件还是比较简单的,但却没有自己博客的特点,于是我想到了使用javaMail发送html邮件 添加依赖 首先在pom.xml文件里添加JavaMail所需依赖 <dependency> <groupId>com.sun.mail&

先谢郭嘉的博客 1554

JavaMail使用465端口发送SSL加密邮件

今天发现,自己的项目在本地发邮件没任何问题。但部署到服务器,发送邮件显示连接异常。一开始非常懵逼,查资料,发现是阿里云出于安全考虑,关闭了服务器的25端口,而25端口是smtp的默认端口。提交工单,客服建议使用邮件服务商的加密的465端口。紧接着又是配置安全组,又是开启邮件服务商的端口和服务。 其实都没用,如果发生了这个问题,那就一定是代码出现问题了,重写代码吧! 本文参考了http://ww

jialiang的博客 1万+

使用javamail发送邮件 MailUtils

使用javamail发送邮件 MailUtilsmaven依赖工具类 在平时的开发过程中经常会使用到发送邮件的功能,邮件内容除了纯文本邮件外可能还会有一些需要包含图片、附件等的复杂邮件。使用javamail完成发送邮件功能的封装以便大家使用,话不多说 上代码! maven依赖 要使用javamail的jar包首先需要导入依赖 <dependency> <groupId>j...

weixin_44088785的博客 419

后端 | 使用 JavaMail 发送邮件

  虽然现在的交流办公软件层出不穷,但是邮件的一些优势是即时通信软件无法取代的。邮件可以作为一个很好的凭证并且可以存档。在传输文件和大型复杂的场景下,大多数人还是会选择邮件。所以,在我们开发网站的时候肯定也要应用邮件服务。   JavaMail是Sun发布的用来提供给开发者处理电子邮件相关的编程接口。其中用于处理电子邮件的核心类是: Session, Message, Address, Auth...

刘师傅的博客 2221
上一篇: 25岁,上帝找你谈一次灵魂。——送给女孩,也送给男孩
下一篇: spring 使用classpath方式加载hibernate映射文件
JavaAlpha
博客等级 码龄18年 910粉丝 511原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值