`

Java程序发送邮件的两种方法

阅读更多

 

 前一段时间我在博客中发表过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();  
	         }  
	     }  

 

    

 

 

7
1
分享到:
评论

相关推荐

    java实现简单邮件程序

    本篇文章将详细介绍如何使用Java语言编写一个简单的邮件发送程序。通过这个示例,读者可以学习到如何利用Java进行网络编程,尤其是如何与SMTP服务器交互来发送邮件。 #### 二、项目背景与目的 本项目来源于《编程...

    java定时发送邮件

    其次,实现定时任务在Java中通常有两种常见方式:一是使用`java.util.Timer`和`TimerTask`类,二是使用`java.util.concurrent.ScheduledExecutorService`。前者适合简单的定时任务,而后者则更强大,支持更复杂的...

    java邮件发送程序,java邮件服务器

    Java邮件发送程序是Java开发中常见的一种功能,用于在应用程序中发送电子邮件。它涉及到JavaMail API,这是一个允许Java开发者访问SMTP(简单邮件传输协议)、POP3(邮局协议)和IMAP(因特网消息访问协议)等邮件...

    简易java邮件发送工具

    JavaMail 是一个强大的开源库,用于在Java应用程序中发送和接收电子邮件。这个“简易java邮件发送工具”显然是基于JavaMail API构建的,旨在简化邮件发送的过程,尤其针对Yahoo、Sina、Sohu和163等常见邮件服务商。...

    java发送邮件jar

    JAF提供了一种标准的方式来识别、实例化和操作数据对象,使得Java程序能够处理未知的数据类型。在邮件发送过程中,这尤其重要,因为邮件可能包含多种类型的附件,如文本、图片、PDF等,每种类型都需要不同的方式来...

    java写的收发邮件程序

    在JavaMail API中,主要涉及到两种协议:SMTP(Simple Mail Transfer Protocol)用于发送邮件,而POP3(Post Office Protocol version 3)或IMAP(Internet Message Access Protocol)用于接收邮件。SMTP是基于TCP/...

    java邮件发送程序

    Java邮件发送程序是一种基于Java技术实现的用于发送电子邮件的应用程序。在Java中,我们通常使用JavaMail API来处理邮件的发送、接收等操作。JavaMail API是一个开源库,提供了丰富的接口和类,使得开发者能够方便地...

    Java查询OutLook邮件代码

    它包括了 javax.mail 和 javax.mail.internet 包,这两个包提供了发送、接收邮件以及解析邮件内容的类和接口。例如,`Session` 类用于设置邮件服务器的配置,`Store` 类用于连接邮箱并获取邮件,`Folder` 类用于操作...

    java mail 发送QQ邮件

    下面是一个完整的Java程序,用于发送简单的文本邮件到QQ邮箱。 ```java import javax.mail.*; import javax.mail.internet.*; import java.util.Properties; public class SendQqMailExample { public static ...

    Java发送邮件所需的jar包

    这两个jar包提供了JavaMail API,使得Java程序能够与邮件服务器交互,完成邮件的发送工作。 首先,我们来看`activation.jar`。这个库是JavaBeans Activation Framework(JAF)的一部分,主要负责处理MIME类型的对象...

    java发送邮件的源码实例

    Java发送邮件是编程中常见的一种任务,特别是在自动化通知、服务端消息传递等方面有着广泛的应用。在Java中,我们可以使用JavaMail API来实现邮件的发送功能。这个实例是关于如何使用163邮箱作为代理来发送邮件的...

    java版电子邮件系统

    Java版电子邮件系统是一种基于Java编程语言实现的电子邮件应用程序,它允许用户发送、接收、存储和管理电子邮件。在本文中,我们将深入探讨Java在构建电子邮件系统中的应用,包括核心技术、架构设计以及实现邮件功能...

    java邮件收发系统

    Java邮件收发系统是一种利用Java编程语言实现的软件,它能够模拟类似微软Outlook的邮件管理功能,包括发送、接收邮件以及执行其他辅助任务。在Java中,这通常通过使用JavaMail API来实现,该API提供了处理SMTP(简单...

    java邮件发送系统

    总的来说,Java邮件发送系统是一个实用的工具,对于开发自动化通知、营销邮件或任何需要通过程序发送邮件的应用场景非常有用。开发者需要熟悉JavaMail API以及如何配置和使用邮件服务器的相关参数。通过深入理解这些...

    java发送邮件(jdk1.4和jdk1.5)

    下面将详细介绍这两个版本中使用Java发送邮件的关键知识点。 1. **JavaMail API**: JavaMail API是Java平台上的一个开源库,用于处理电子邮件。它提供了一组接口和类,使得程序员能够构建邮件客户端和服务器端的...

    简单邮件发送程序,java实现,包括发送和接受端两部分

    JavaMail API同样支持这两种协议,通过`Store`类来连接邮件服务器并获取邮件。 4. **邮件会话(Session)**: 在JavaMail中,`Session`对象是所有邮件操作的基础,它包含了与邮件服务器交互的配置信息,如用户名、...

    java调试domino邮件常见问题

    这里有两种常见的方法: - **使用DIIOP IO Replication (IOR)**: ```java String ior = "DIIOP_ior"; // 从Domino服务器获取的IOR文本 String username = "your_username"; String password = "your_password...

    用java开发Email工具之发送邮件

    它提供了一种简单而灵活的方法来访问和修改邮件会话,并支持多种邮件协议如SMTP(Simple Mail Transfer Protocol)用于发送邮件,POP3(Post Office Protocol Version 3)用于接收邮件。该API允许开发者以一种统一的...

    java发送邮件所需jar包

    在Java应用程序中实现邮件发送,通常需要引入特定的JAR包来支持。标题提到的"java发送邮件所需jar包",指的是JavaMail API的核心库以及可能需要的辅助库。 1. **javax.mail-1.4.0.v201005080615.jar**:这是...

Global site tag (gtag.js) - Google Analytics