Java邮件开发简单例子

Java 发送邮件 使用Java应用程序发送 E-mail 十分简单,但是首先你应该在你的机器上安装 JavaMail API 和Java Activation Framework (JAF)。下载并解压缩这些文件,在新创建的顶层目录中,您会发现这两个应用程序的一些 jar 文件。您需要把和文件添加到您的 CLASSPATH 中。如果你使用第三方邮件服务器如QQ的SMTP服务器,可查看文章底部用户认证完整的实例。 阅读详情

Java邮件开发简单例子,代码源自传智播客巴巴运动网,已经把这个小Demo项目放在个人的资源里了!这里使用的是163邮箱服务器!

package com.wxc.util.email;

import java.io.File;
import java.util.Date;
import java.util.Properties;

import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;

import com.wxc.util.PropertyReadUtil;

/**
 * 
 * 邮件工具类
 * 
 * @author wuxincheng
 * 
 */
public class EmailSenderUtil {

	private static final String charset = "UTF-8";
	private static final String defaultMimetype = "text/plain";
	
	// 这是读取配置文件工具类, 用来读取Email用户名和密码
	private static final PropertyReadUtil param = new PropertyReadUtil(
			"parameters");

	public static void main(String[] args) {
		PropertyReadUtil param = new PropertyReadUtil("parameters");
		
		String[] emails = param.getString("receiver.email.address").split(",");
		
		EmailSenderUtil.send(emails, "Java邮件测试", "<b>优快云分享资源</b>", null , "text/html");
		
	}

	/**
	 * 发送邮件
	 * 
	 * @param receiver
	 *            收件人
	 * @param subject
	 *            标题
	 * @param mailContent
	 *            邮件内容
	 * @param mimetype
	 *            内容类型 默认为text/plain,如果要发送HTML内容,应设置为text/html
	 */
	public static void send(String receiver, String subject,
			String mailContent, String mimetype) {
		send(new String[] { receiver }, subject, mailContent, mimetype);
	}

	/**
	 * 发送邮件
	 * 
	 * @param receivers
	 *            收件人
	 * @param subject
	 *            标题
	 * @param mailContent
	 *            邮件内容
	 * @param mimetype
	 *            内容类型 默认为text/plain,如果要发送HTML内容,应设置为text/html
	 */
	public static void send(String[] receivers, String subject,
			String mailContent, String mimetype) {
		send(receivers, subject, mailContent, null, mimetype);
	}

	/**
	 * 发送邮件
	 * 
	 * @param receivers
	 *            收件人
	 * @param subject
	 *            标题
	 * @param mailContent
	 *            邮件内容
	 * @param attachements
	 *            附件
	 * @param mimetype
	 *            内容类型 默认为text/plain,如果要发送HTML内容,应设置为text/html
	 */
	public static void send(String[] receivers, String subject,
			String mailContent, File[] attachements, String mimetype) {
		Properties props = new Properties();
		props.put("mail.smtp.host", "smtp.163.com"); // smtp服务器地址 sohu
		props.put("mail.smtp.auth", "true"); // 需要校验
		Session session = Session.getDefaultInstance(props,
				new Authenticator() {
					protected PasswordAuthentication getPasswordAuthentication() {
						return new PasswordAuthentication(param
								.getString("sender.email.address"), param
								.getString("sender.email.password")); // 登录用户名/密码
					}
				});

		session.setDebug(true);

		try {
			MimeMessage mimeMessage = new MimeMessage(session);
			mimeMessage.setFrom(new InternetAddress(param
					.getString("sender.email.address"))); // 发件人邮件

			InternetAddress[] toAddress = new InternetAddress[receivers.length];
			for (int i = 0; i < receivers.length; i++) {
				toAddress[i] = new InternetAddress(receivers[i]);
			}
			mimeMessage.setRecipients(Message.RecipientType.TO, toAddress); // 收件人邮件
			mimeMessage.setSubject(subject, charset);

			Multipart multipart = new MimeMultipart();
			// 正文
			MimeBodyPart body = new MimeBodyPart();
			// body.setText(message, charset);不支持html
			body.setContent(mailContent,
					(mimetype != null && !"".equals(mimetype) ? mimetype
							: defaultMimetype) + ";charset=" + charset);
			multipart.addBodyPart(body); // 发件内容
			// 附件
			if (attachements != null) {
				for (File attachement : attachements) {
					MimeBodyPart attache = new MimeBodyPart();
					// ByteArrayDataSource bads = new
					// ByteArrayDataSource(byte[],"application/x-any");
					attache.setDataHandler(new DataHandler(new FileDataSource(
							attachement)));
					String fileName = getLastName(attachement.getName());
					attache.setFileName(MimeUtility.encodeText(fileName,
							charset, null));
					multipart.addBodyPart(attache);
				}
			}
			mimeMessage.setContent(multipart);
			// SimpleDateFormat formcat = new SimpleDateFormat("yyyy-MM-dd");
			mimeMessage.setSentDate(new Date()); // formcat.parse("2010-5-23")
			Transport.send(mimeMessage);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	private static String getLastName(String fileName) {
		int pos = fileName.lastIndexOf("\\");
		if (pos > -1) {
			fileName = fileName.substring(pos + 1);
		}
		pos = fileName.lastIndexOf("/");
		if (pos > -1) {
			fileName = fileName.substring(pos + 1);
		}
		return fileName;
	}

}



使用Java实现邮件发送功能,邮件发送API JavaMail JavaMail是一个用于发送和接收邮件的API。它提供了一个独立于平台的、基于Java的邮件解决方案。我们可以使用JavaMail发送电子邮件,包括文本邮件、HTML邮件以及带附件的邮件。 阅读详情

相关推荐

Java邮件开发实战源代码剖析

本文还有配套的精品资源,点击获取 简介:Java邮件开发是企业级Java应用的重要技能,用于发送通知、报告等。张孝祥老师的课程提供了完整的源代码,涵盖了从基本配置到高级功能实现的全过程。通过分析 javamail2 和 javamail3 两个关键文件夹中的源码,开发者能深入理解如何使用JavaMail API发送和接收电子邮件,包括邮件服务器配...

weixin_28721743的博客 1414

java实现邮件发送DEMO

java实现邮件发送DEMO首先需要导入创建EmailTest类 首先需要导入 javx.mail.jar 驱动并加载 创建EmailTest类 package com.ambow.EmailText; import java.io.FileOutputStream; import java.io.OutputStream; import java.util.Date; import java....

Rookie_Strive的博客 1078

Java邮件系统开发实战指南

邮局协议版本3(POP3)是用于从邮件服务器检索电子邮件的标准协议。用户代理(通常是邮件客户端)通过此协议从服务器下载邮件。它提供两个主要功能:下载和删除。这意味着一旦邮件被下载到本地机器,POP3协议认为邮件已被处理,允许服务器删除邮件以节省空间。简单邮件传输协议(SMTP)用于发送电子邮件。它工作在TCP/IP协议之上,负责将邮件从发件人的邮件服务器传输到收件人的邮件服务器。SMTP是一种推协议,意味着邮件直接从发送方发送到接收方,而不需要通过中间服务器。

weixin_42376614的博客 998

java邮件开发,简单例子

首先导入mail.jar

毅个混蛋的专栏 1389

java发送邮件实例源码

本实例完整的实现了java发送邮件的功能,需要大家下载下来将自己的用户名和密码等替换,替换的文件在项目中的email.properties文件中,具体详情请参见博文:http://blog.youkuaiyun.com/l1028386804/article/details/51146788

java发送邮件实例

java实例发送邮件 完整实例 详细说明

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

本文链接: http://blog.youkuaiyun.com/xietansheng/article/details/51673073 电子邮件的应用非常广泛,例如在某网站注册了一个账户,自动发送一封欢迎邮件,通过邮件找回密码,自动批量发送活动信息等。但这些应用不可能和我们自己平时发邮件一样,先打开浏览器,登录邮箱,创建邮件再发送。本文将简单介绍如何通过 Java 代码来创建电子邮件,并连接邮件服务器发...

谢TS的博客 22万+

Java Mail群发实例、邮件群发相关、打造自己的EDM系统

Java实现邮件群发系统、简单配置即开使用。外贸企业打造自己的邮件群发平台。 本源码仅限于学习研究使用,请勿用于其它用途,谢谢。

javamail 一个发送邮件的简单例子(转载)

javamail 一个发送邮件的简单例子 博客分类: java HTML javamail发送邮件的一个很好的帖子,转过来。 原文地址:http://www.blogjava.net/wangfun/archive/2009/04/15/265748.html

神叹的专栏 1558

九齐NY8B062F单片机:12位ADC与4路PWM在智能家居控制中的实战应用

本文详细介绍了九齐NY8B062F单片机在智能家居控制中的实战应用,重点解析其12位ADC高精度传感器数据采集和4路PWM精准驱动技术。通过实际案例展示如何利用该单片机实现温湿度监测、灯光调节及电机控制,并分享低功耗设计与抗干扰方案,为低成本高可靠性的智能家居设备开发提供完整解决方案。

rnn9storyteller的博客 731

VMvare 桥接模式无法联网、没有未桥接的主机网络适配器,无法将网络更改为桥接状态。

很多程序员,整天沉浸在业务代码的 CRUD 中,业务中没有大量数据做并发,缺少实战经验,对并发仅仅停留在了解,做不到精通,所以总是与大厂擦肩而过。我把私藏的这套并发体系的笔记和思维脑图分享出来,理论知识与项目实战的结合,我觉得只要你肯花时间用心学完这些,一定可以快速掌握并发编程。《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!战项目源码讲义》点击传送门即可获取!**

q16974058的博客 4332

Java邮件开发(一):使用JMail发送一封简单邮件

JMail是进行邮件开发的组件。由于所需要的jar非官方开发,需要自行下载所需jar包,我使用的是javamail-1.4.7。 不了解收发邮件过程的请先浏览我的另一片博客:电子邮件工作原理   大致步骤: 1. 创建Properties对象,并为该对象设置相应内容 2. 创建Session对象 3. 创建Message对象,这个对象封装邮件的信息,如发件人、收件人、主题等等 4.

我的博客 6564

Grafana图像渲染插件安装全攻略:解决依赖缺失问题(附完整命令清单)

本文详细介绍了在CentOS/RHEL环境下安装Grafana图像渲染插件`grafana-image-renderer`的全过程,包括解决常见的依赖缺失问题。通过提供完整的命令清单和疑难问题排查指南,帮助用户高效部署和优化插件性能,确保图像渲染功能稳定运行。

weixin_30399821的博客 86

java发送简单邮件

java发送简单邮件简介JavaMail所需要的Maven的jar包代码实现成果展示 简介 java发送邮件是通过javaMail来实现的。JavaMail根据百度百科的解释是提供给开发者处理电子邮件相关的编程接口。JavaMail是Sun公司发布的用来处理email的API。它可以方便地执行一些常用的邮件传输。我们可以基于JavaMail开发出类似于Microsoft Outlook的应用程序。...

qq_43419105的博客 528

9篇3章7节:基于 R 语言的 FAERS 数据提取与合并

本文主要探讨了 FAERS 数据提取与合并的操作流程。首先,通过程序化方法从本地存储的 FAERS ASCII 文件中提取指定季度或范围内的单药报告数据,并可通过参数设置控制数据存储位置、处理方式、计算资源分配以及报告者职业类别等。随后,通过批量读取的方式对多个季度的 DRUG 文件进行循环处理,并将其合并为一个综合数据框。

MD Code 1265

从零开始学 PyTorch 7天路线图(完整可运行代码版)

本文提供了5天PyTorch入门教程的完整代码,涵盖从基础到实战的核心内容。Day1测试环境并介绍张量基础;Day2讲解常用张量操作;Day3演示自动求导机制;Day4实现完整线性回归模型;Day5构建MNIST手写数字识别全连接网络。所有代码可直接运行,包含GPU检测、梯度计算、模型训练和可视化等关键环节,帮助新手快速掌握PyTorch核心概念和典型应用场景。

IT老农民的博客 314

java 发送邮件的简单例子

package com.jinfonet.KB;import java.util.Properties;import javax.mail.MessagingException;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import co...

anjichan4261的博客 190

EMC基础知识总结

电磁干扰(Electromagnetic Interference),简称EMI,有和两种。传导干扰主要是电子设备产生的干扰信号通过导电介质或公共电源线互相产生干扰;辐射干扰是指电子设备产生的干扰信号通过空间耦合把干扰信号传给另一个电网络或电子设备。

学海无涯的专栏 1370

java实现简单的发送邮件(图文详细)

java实现发送邮件1、配置环境1.导入依赖jar包2.在你要发送的邮件的地址开启相关服务2、简单例子 1、配置环境 1.导入依赖jar包 maven工程下导入相关坐标,或者下载jar包 点击下载 <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4</version&g

码出精彩 3878

部署与可视化系统:移动端跟踪系统:YOLOv8 + ByteTrack 结合 Android CameraX 实现实时行人计数 App

本文详细介绍了在Android移动端实现实时行人检测、跟踪与计数系统的完整方案。系统采用YOLOv8+ByteTrack技术栈,基于NCNN推理引擎,无需云端算力即可在手机端侧完成全流程处理。文章从技术选型、系统架构、CameraX集成等多个维度进行深入解析,重点阐述了移动端部署面临的工程挑战和优化策略。通过四层管道模型设计,实现了从图像采集到目标跟踪的高效处理流程,并采用C++ NDK开发确保性能。该系统在中端手机上可达到10FPS,旗舰机型可达30FPS,为移动端实时目标跟踪提供了可落地的解决方案。

ZXSXJ的博客 92

YOLOv11模型改进-模块-引入空间池化模块StripPooling 解决遮挡、小目标

本文介绍了一种新的空间池化策略,称为,用于场景解析。结构:包括两个平行路径,分别进行水平和垂直方向的条带池化,然后通过1D卷积层进行特征调整。:结合了条带池化和传统的空间池化,分别用于捕捉长距离和短距离的依赖关系。作用捕捉长距离依赖:通过长条形的池化窗口,有效捕捉分布离散的区域之间的关系。避免不相关信息干扰:窄条形的池化窗口有助于捕捉局部上下文,防止不相关区域干扰标签预测。提高场景解析性能:在多个基准数据集上,证明了这种方法能够显著提升场景解析的效果。

qq_64693987的博客 4205

java邮件之简单邮件

邮箱有很多种这里以qq邮箱为例 所需jar包:https://download.youkuaiyun.com/download/qq_41262903/10895811 import javax.mail.NoSuchProviderException; import javax.mail.Session; import javax.mail.Transport; import javax.mail...

eRunn 614

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Java发送邮件的简单实现

Java发送邮件的简单实现 JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口。它是Sun发布的用来处理email的API。它可以方便地执行一些常用的邮件传输。我们可以基于JavaMail开发出类似于Microsoft Outlook的应用程序。JavaMail是可选包,目前并没有被加载到jdk中,使用时需要额外引入。 一、JavaMail引入

学无止境 1万+

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

基于smtp协议邮件发送简单例子

电子邮箱协议 常用的电子邮件协议有SMTP、POP3、IMAP4,它们都隶属于TCP/IP协议簇,默认状态下,分别通过TCP端口25、110和143建立连接。 SMTP协议 SMTP的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。SMTP是一个相对简单的基于文本的协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 协...

qq_42777577的博客 1906

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

上一篇: FusionCharts参数说明 - 3D柱状图 - Column3D.swf
下一篇: Java根据日期获得星期
新成同学
博客等级 码龄16年 129粉丝 50原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值