前一段时间我在博客中发表过Java接收解析邮件的程序,今天,我来总结两种发送邮件的程序。
下是两种邮件发送方式。
给出的例子是是发送HTML格式带附件的邮件。(普通文本格式的邮件基本上可以不关心,现在的邮件都是HTML格式的!)
如果不要发送附件,只要发送单纯的HTML邮件。只要把附件部分去掉即可
很简单,不解释,拿过去直接可以用,好,直接上代码:
/** *用spring mail 发送邮件,依赖jar:spring.jar,activation.jar,mail.jar */ public static void sendFileMail() throws MessagingException { JavaMailSenderImpl senderImpl = new JavaMailSenderImpl(); // 设定mail server senderImpl.setHost("smtp.126.com"); senderImpl.setUsername("yuhan0"); senderImpl.setPassword("******"); // 建立HTML邮件消息 MimeMessage mailMessage = senderImpl.createMimeMessage(); // true表示开始附件模式 MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage, true, "utf-8"); // 设置收件人,寄件人 messageHelper.setTo("slimes@126.com"); messageHelper.setFrom("yuhan0@126.com"); messageHelper.setSubject("测试邮件!"); // true 表示启动HTML格式的邮件 messageHelper.setText("<html><head></head><body><h1>你好:附件!!</h1></body></html>", true); FileSystemResource file1 = new FileSystemResource(new File("d:/logo.jpg")); FileSystemResource file2 = new FileSystemResource(new File("d:/读书.txt")); // 添加2个附件 messageHelper.addAttachment("logo.jpg", file1); try { //附件名有中文可能出现乱码 messageHelper.addAttachment(MimeUtility.encodeWord("读书.txt"), file2); } catch (UnsupportedEncodingException e) { e.printStackTrace(); throw new MessagingException(); } // 发送邮件 senderImpl.send(mailMessage); System.out.println("邮件发送成功....."); }
/** *用apache commons-email 发送邮件 *依赖jar:commons-email.jar,activation.jar,mail.jar */ public static void sendMutiMessage() { MultiPartEmail email = new MultiPartEmail(); String[] multiPaths = new String[] { "D:/1.jpg", "D:/2.txt" }; List<EmailAttachment> list = new ArrayList<EmailAttachment>(); for (int j = 0; j < multiPaths.length; j++) { EmailAttachment attachment = new EmailAttachment(); //判断当前这个文件路径是否在本地 如果是:setPath 否则 setURL; if (multiPaths[j].indexOf("http") == -1) { attachment.setPath(multiPaths[j]); } else { try { attachment.setURL(new URL(multiPaths[j])); } catch (MalformedURLException e) { e.printStackTrace(); } } attachment.setDisposition(EmailAttachment.ATTACHMENT); attachment.setDescription("Picture of John"); list.add(attachment); } try { // 这里是发送服务器的名字: email.setHostName("smtp.126.com"); // 编码集的设置 email.setCharset("utf-8"); // 收件人的邮箱 email.addTo("slimes@126.com"); // 发送人的邮箱 email.setFrom("yuhan0@126.com"); // 如果需要认证信息的话,设置认证:用户名-密码。分别为发件人在邮件服务器上的注册名称和密码 email.setAuthentication("yuhan0", "******"); email.setSubject("这是一封测试邮件"); // 要发送的信息 email.setMsg("<b><a href=\"http://www.baidu.com\">邮件测试内容</a></b>"); for (int a = 0; a < list.size(); a++) //添加多个附件 { email.attach(list.get(a)); } // 发送 email.send(); } catch (EmailException e) { e.printStackTrace(); } }
相关推荐
本篇文章将详细介绍如何使用Java语言编写一个简单的邮件发送程序。通过这个示例,读者可以学习到如何利用Java进行网络编程,尤其是如何与SMTP服务器交互来发送邮件。 #### 二、项目背景与目的 本项目来源于《编程...
其次,实现定时任务在Java中通常有两种常见方式:一是使用`java.util.Timer`和`TimerTask`类,二是使用`java.util.concurrent.ScheduledExecutorService`。前者适合简单的定时任务,而后者则更强大,支持更复杂的...
Java邮件发送程序是Java开发中常见的一种功能,用于在应用程序中发送电子邮件。它涉及到JavaMail API,这是一个允许Java开发者访问SMTP(简单邮件传输协议)、POP3(邮局协议)和IMAP(因特网消息访问协议)等邮件...
JavaMail 是一个强大的开源库,用于在Java应用程序中发送和接收电子邮件。这个“简易java邮件发送工具”显然是基于JavaMail API构建的,旨在简化邮件发送的过程,尤其针对Yahoo、Sina、Sohu和163等常见邮件服务商。...
JAF提供了一种标准的方式来识别、实例化和操作数据对象,使得Java程序能够处理未知的数据类型。在邮件发送过程中,这尤其重要,因为邮件可能包含多种类型的附件,如文本、图片、PDF等,每种类型都需要不同的方式来...
在JavaMail API中,主要涉及到两种协议:SMTP(Simple Mail Transfer Protocol)用于发送邮件,而POP3(Post Office Protocol version 3)或IMAP(Internet Message Access Protocol)用于接收邮件。SMTP是基于TCP/...
Java邮件发送程序是一种基于Java技术实现的用于发送电子邮件的应用程序。在Java中,我们通常使用JavaMail API来处理邮件的发送、接收等操作。JavaMail API是一个开源库,提供了丰富的接口和类,使得开发者能够方便地...
它包括了 javax.mail 和 javax.mail.internet 包,这两个包提供了发送、接收邮件以及解析邮件内容的类和接口。例如,`Session` 类用于设置邮件服务器的配置,`Store` 类用于连接邮箱并获取邮件,`Folder` 类用于操作...
下面是一个完整的Java程序,用于发送简单的文本邮件到QQ邮箱。 ```java import javax.mail.*; import javax.mail.internet.*; import java.util.Properties; public class SendQqMailExample { public static ...
这两个jar包提供了JavaMail API,使得Java程序能够与邮件服务器交互,完成邮件的发送工作。 首先,我们来看`activation.jar`。这个库是JavaBeans Activation Framework(JAF)的一部分,主要负责处理MIME类型的对象...
Java发送邮件是编程中常见的一种任务,特别是在自动化通知、服务端消息传递等方面有着广泛的应用。在Java中,我们可以使用JavaMail API来实现邮件的发送功能。这个实例是关于如何使用163邮箱作为代理来发送邮件的...
Java版电子邮件系统是一种基于Java编程语言实现的电子邮件应用程序,它允许用户发送、接收、存储和管理电子邮件。在本文中,我们将深入探讨Java在构建电子邮件系统中的应用,包括核心技术、架构设计以及实现邮件功能...
Java邮件收发系统是一种利用Java编程语言实现的软件,它能够模拟类似微软Outlook的邮件管理功能,包括发送、接收邮件以及执行其他辅助任务。在Java中,这通常通过使用JavaMail API来实现,该API提供了处理SMTP(简单...
总的来说,Java邮件发送系统是一个实用的工具,对于开发自动化通知、营销邮件或任何需要通过程序发送邮件的应用场景非常有用。开发者需要熟悉JavaMail API以及如何配置和使用邮件服务器的相关参数。通过深入理解这些...
下面将详细介绍这两个版本中使用Java发送邮件的关键知识点。 1. **JavaMail API**: JavaMail API是Java平台上的一个开源库,用于处理电子邮件。它提供了一组接口和类,使得程序员能够构建邮件客户端和服务器端的...
JavaMail API同样支持这两种协议,通过`Store`类来连接邮件服务器并获取邮件。 4. **邮件会话(Session)**: 在JavaMail中,`Session`对象是所有邮件操作的基础,它包含了与邮件服务器交互的配置信息,如用户名、...
这里有两种常见的方法: - **使用DIIOP IO Replication (IOR)**: ```java String ior = "DIIOP_ior"; // 从Domino服务器获取的IOR文本 String username = "your_username"; String password = "your_password...
它提供了一种简单而灵活的方法来访问和修改邮件会话,并支持多种邮件协议如SMTP(Simple Mail Transfer Protocol)用于发送邮件,POP3(Post Office Protocol Version 3)用于接收邮件。该API允许开发者以一种统一的...
在Java应用程序中实现邮件发送,通常需要引入特定的JAR包来支持。标题提到的"java发送邮件所需jar包",指的是JavaMail API的核心库以及可能需要的辅助库。 1. **javax.mail-1.4.0.v201005080615.jar**:这是...