`
xixian
  • 浏览: 215260 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

javamail群发带附件邮件

    博客分类:
  • java
 
阅读更多
                  

import java.util.Date;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.BodyPart;
import javax.mail.Message;
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;

public class Test {
	private static String host="smtp.163.com";//邮箱服务器地址 例如smtp.163.com
	private static String mailAddr="你的邮件地址@163.com";//发送邮箱地址
	private static String mailPassWord="你的密码";//发送邮箱密码
	public static void main(String[] arg){
		testMail();
	}
	public static void testMail(){
	 Properties props = new Properties();
	  // 设置发送邮件的邮件服务器的属性(这里使用网易的smtp服务器)
	  props.put("mail.smtp.host",host);
	  // 需要经过授权,也就是有户名和密码的校验,这样才能通过验证(一定要有这一条)
	  props.put("mail.smtp.auth", "true");
	  // 用刚刚设置好的props对象构建一个session
	  Session session = Session.getDefaultInstance(props);
	  // 有了这句便可以在发送邮件的过程中在console处显示过程信息,供调试使
	  // 用(你可以在控制台(console)上看到发送邮件的过程)
	  session.setDebug(true);
	  // 用session为参数定义消息对象
	  MimeMessage message = new MimeMessage(session);
	  try {
	   // 加载发件人地址
	   message.setFrom(new InternetAddress(mailAddr));
	   // 加载收件人地址,这里为群发
	   String addressStr[]={"luohaidong@szmingtang.com","luohaidong@szmingtang.com"};
	   int len=addressStr.length;
	   InternetAddress address[]=new InternetAddress[len];
	   for(int i=0;i<len;i++){
		   address[i]=new InternetAddress(addressStr[i]); 
	   }
	   //设置为群发
	   message.addRecipients(Message.RecipientType.TO, address);
	   String mailType="text/plain";   //邮件格式 text/html为网页格式
	   // 设置邮件的文本内容
	   message.setSentDate(new Date());  //发送时间
	   message.setSubject("测试测试");  //邮件标题
	   message.isMimeType(mailType);  //设置邮件发送格式 
	  
	   MimeMultipart multipart = new MimeMultipart("mixed");  
	   //邮件内容
	   BodyPart messageBodyPart11 = new MimeBodyPart();   
	   messageBodyPart11.setContent("测试正文内容", "text/html;charset=gbk");  
	   multipart.addBodyPart(messageBodyPart11);

	   // 添加附件
          /**
	   // 向multipart对象中添加邮件的各个部分内容,包括文本内容和附件
	   BodyPart messageBodyPart = new MimeBodyPart(); 
	   //设置邮件的格式
	   messageBodyPart.isMimeType(mailType);
	   //文件地址
	   DataSource source = new FileDataSource("e:\\1.txt");
	   // 添加附件的内容
	   messageBodyPart.setDataHandler(new DataHandler(source));
	   // 添加附件的标题(收到后附件显示的名字,必需有后缀)
	   String affixName="附件1.txt";
	   // 这里很重要,通过下面的Base64编码的转换可以保证你的中文附件标题名在发送时不会变成乱码
	   sun.misc.BASE64Encoder enc = new sun.misc.BASE64Encoder();
	   messageBodyPart.setFileName("=?GBK?B?"+ enc.encode(affixName.getBytes()) + "?=");
	   multipart.addBodyPart(messageBodyPart);
           */
	   // 将multipart对象放到message中
	   message.setContent(multipart);
	   // 保存邮件
	   message.saveChanges();
	   // 发送邮件
	   Transport transport = session.getTransport("smtp");
	   // 连接服务器的邮箱 163服务器地址,发送者邮箱地址,邮箱密码
	   transport.connect(host,mailAddr,mailPassWord);
	   // 把邮件发送出去
	   transport.sendMessage(message, message.getAllRecipients());
	   transport.close();
		}catch (Exception e) {
		}
	}
}
                  
                  
分享到:
评论

相关推荐

    javamail邮件群发、单发_邮件发送

    JavaMail 是一个强大的开源库,用于在 Java 应用程序中处理电子邮件的发送和接收。它提供了丰富的 API,使得开发者可以方便地...通过这个简单的示例,你应该已经掌握了使用 JavaMail 进行邮件群发和单发的核心概念。

    javamail群发邮件源码

    这个源码示例是关于使用 JavaMail 实现邮件群发功能的,尤其强调了包含图片、附件以及HTML文本显示的能力。以下是对这个主题的详细解释: 1. **JavaMail API**:JavaMail API 是一组用于访问邮件服务器的接口和类,...

    javamail多线程群发

    在JavaMail中实现多线程群发邮件是一项常见的需求,特别是在需要向大量用户发送通知或营销信息时。多线程技术的应用能显著提高发送效率,减少单一线程可能带来的等待时间。 在“javamail 多线程群发”的场景中,...

    javamail实现群发邮件

    在本文中,我们将深入探讨如何使用 JavaMail 实现群发邮件的功能。 首先,要使用 JavaMail 发送邮件,我们需要添加其依赖到项目中。如果你使用的是 Maven,可以在 `pom.xml` 文件中添加以下依赖: ```xml ...

    Android使用Javamail发送Email群发加附件

    本篇文章将详细介绍如何使用JavaMail API在Android中发送带有附件并进行群发的电子邮件。首先,我们需要理解JavaMail API的工作原理以及如何将其集成到Android项目中。 1. **集成JavaMail库** 在Android项目中,...

    javamail群发邮件

    ### javamail群发邮件知识点解析 #### 一、JavaMail概述 JavaMail API是由Sun Microsystems提供的用于在Java应用程序中发送和接收电子邮件的标准接口。它支持多种协议(如SMTP、IMAP、POP3等),使得开发者能够轻松...

    利用javamail api实现的邮件发送类

    在Java应用程序中,我们可以利用JavaMail API 实现各种复杂的邮件功能,例如发送带有附件的邮件、发送HTML格式的邮件、设置抄送和密送等。 以下是一个基于JavaMail API 实现邮件发送的类的基本结构和关键知识点: ...

    基于JavaMail的电子邮件群发

    总结,基于 JavaMail 的电子邮件群发实现了高效、便捷的信息发布。通过使用 JavaMail API,开发者可以创建自己的邮件客户端或服务端应用程序,处理各种邮件协议,并利用多线程技术提高邮件发送的效率。同时,配合 ...

    javaMail实现单发/群发邮件操作

    在这个项目中,我们将会探讨如何使用 JavaMail 实现单发和群发邮件的操作。 首先,为了使用 JavaMail 发送邮件,我们需要引入相关的依赖。在 Maven 项目中,可以在 `pom.xml` 文件中添加以下依赖: ```xml ...

    Spring 使用163发邮件带附件

    标题 "Spring 使用163发邮件带附件" 涉及到的是在Java开发中,使用Spring框架发送电子邮件,特别是包含附件的邮件。这通常在系统需要自动化通知、报告发送或者用户验证过程中非常常见。Spring提供了JavaMailSender...

    javamail发送邮件小程序,类以及写好,只要放包,下载一个就可以

    通过使用 JavaMail,开发者可以创建复杂的邮件,包括HTML 内容、附件、抄送和密送等功能。以下是一些核心的 JavaMail API 和概念: 1. **Session**:在 JavaMail 中,`Session` 类是邮件会话的代表,用于配置邮件...

    java发送邮件的案例 包括附件 群发

    以下是一个简单的示例代码,演示了如何使用JavaMail API发送带有附件的群发邮件: ```java import javax.mail.*; import javax.mail.internet.*; import java.util.Properties; public class EmailSender { ...

    自己写的一个基于Javamail的邮件发送客户端

    JavaMail 使用 SMTP 客户端功能来连接到邮件服务器,验证用户身份,并发送带有附件、HTML 内容等的邮件。 3. **MIME 处理**: 在邮件中包含多种类型的内容(如文本、图片、附件)时,需要使用 MIME(多用途互联网...

    java邮件发送(单发,群发,附件,抄送)

    在这个例子中,我们主要关注JavaMail如何实现邮件的单发、群发、添加附件以及抄送功能。 1. **JavaMail API简介** JavaMail API提供了一系列接口和类,如`Session`、`Message`、`MimeMessage`、`Transport`等,...

    JAVA实现邮件群发

    对于更复杂的需求,比如添加附件、使用HTML格式的邮件内容或者发送带附件的邮件,可以利用`MimeMultipart`和`MimeBodyPart`类来构造复杂的邮件结构。 在提供的“实例47”中,可能包含了实现上述过程的具体代码。...

    Java实现发送邮件

    例如,以下代码演示了如何发送带有HTML正文和附件的邮件: ```java Multipart mp = new MimeMultipart(); BodyPart messagePart = new MimeBodyPart(); messagePart.setContent("&lt;html&gt;&lt;body&gt;欢迎!&lt;/h1&gt;&lt;p&gt;这是...

    java实现邮件群发

    通过理解 JavaMail API 的工作原理,并结合适当的库,可以构建出高效且可靠的邮件群发系统。在实际开发过程中,还应注意避免触发邮件服务商的反垃圾邮件策略,以确保邮件能够成功发送到目标用户。

    用jsp实现邮件群发

    在邮件群发的场景下,JSP将负责构建邮件内容并调用JavaMail API进行邮件发送。 JavaMail API是Java平台用于处理电子邮件的标准API,它提供了创建、发送和接收邮件的功能。要使用JavaMail,我们需要在项目中引入相关...

    关于java的群发邮件

    在Java编程环境中,实现邮件群发是一项常见的任务,特别是在企业级应用中,如发送通知、报告或者营销信息。本文将详细讲解如何利用Java技术进行邮件群发,同时也会涉及.NET框架的一些基本概念,以及数据库在其中的...

    Android系统基于javamail的手机邮件发送器

    在Android平台上开发一个基于JavaMail的手机邮件发送器是一项实用且技术性强的任务。JavaMail库为开发者提供了在...用户不仅可以发送普通文本邮件,还可以添加附件,甚至进行群发操作,极大地扩展了手机客户端的功能。

Global site tag (gtag.js) - Google Analytics