`
jxh118
  • 浏览: 125272 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

使用JavaMail发邮件

阅读更多
public class EmailUtil {
	public static void sendEmail(String smtpHost, String senderAddress, String senderName,
					String receiverAddress, String sub, String content) throws Exception {
		List<String> recipients = new ArrayList<String>();
		recipients.add(receiverAddress);

		sendEmail(smtpHost, senderAddress, senderName, recipients, sub, content);
	}

	public static void sendEmail(String smtpHost, String senderAddress, String senderName,
					List<String> recipients, String sub, String content) throws Exception {
		if (smtpHost == null) {
			String errMsg = "Could not send email: smtp host address is null";
			
			throw new Exception(errMsg);
		}

		try {
			Properties props = System.getProperties();
			props.put("mail.smtp.host", smtpHost);
			props.put("mail.smtp.port", "25");
		    props.put("mail.smtp.auth", "true");

			Session session = Session.getDefaultInstance(props,null );
			MimeMessage message = new MimeMessage( session );
			message.setSubject(sub,"UTF-8");			
			message.setFrom(new InternetAddress(senderAddress, senderName));
			for (String recipient : recipients) {
				message.addRecipients(Message.RecipientType.TO, recipient);
			}		
			
			Multipart mp = new MimeMultipart("related");    
	        MimeBodyPart mbp = new MimeBodyPart();    
	   
	        // 设定邮件内容的类型为 text/html    
	        mbp.setContent(content, "text/html;charset=UTF-8");    
	        mp.addBodyPart(mbp);    
	        
	     // 新建一个存放附件的BodyPart
	        mbp = new MimeBodyPart(); 
	        byte[]  bytes=new byte[]{};
	        FileInputStream  fis=new FileInputStream("F:/shu.jpg");
	        DataHandler dh = new DataHandler(new ByteArrayDataSource(fis,"application/octet-stream"));
	        mbp.setDataHandler(dh); 
	        // 加上这句将作为附件发送,否则将作为信件的文本内容
	        mbp.setFileName("1.jpg"); 
	        mbp.setHeader("Content-ID", "IMG1" );
	        // 将含有附件的BodyPart加入到MimeMultipart对象中
	        mp.addBodyPart(mbp); 
	        message.setContent(mp);  
			message.setSentDate( new Date() );		
			message.saveChanges();
			 Transport   transport=session.getTransport("smtp");   
			  transport.connect(smtpHost,"hu_wei118","password");   
			  transport.sendMessage(message,message.getAllRecipients());
			  transport.close();
		 } catch (Exception e) {
				throw new Exception("errorMsg", e);
		 }
	}
}

 

 

 

所需包:activation.jar      mail.jar

给一个人发邮件

 

web应用中调用EmailUtil.sendEmail("smtp.163.com", "hu_wei118@163.com", "XX",
      "hu_wei118@126.com", "Test", "你好!");

给N个人发邮件

web应用中调用

List<String>    list=new ArrayList<String>();

list.add(hu_wei118@126.com);

list.add(xxxx@xxx.com);

list.add(xxxxx@xxxx.cn);

EmailUtil.sendEmail("smtp.163.com", "hu_wei118@163.com", "XX", list,
          "Test", "你好!");

  • mail.jar (362.6 KB)
  • 描述: 所需jar包
  • 下载次数: 12
分享到:
评论

相关推荐

    使用JAVAMail代发邮件

    使用 JavaMail 代发邮件 使用 JavaMail 库可以轻松地在 Java 应用程序中发送电子邮件。JavaMail 是一个 Java API,用于在 Java 应用程序中发送和接收电子邮件。它提供了一个抽象层,允许开发者使用不同的电子邮件...

    『JAVA基础』使用JavaMail发邮件的实例

    在阅读博文《『JAVA基础』使用JavaMail发邮件的实例》后,你可以进一步了解如何处理更复杂的邮件场景,如HTML格式的邮件、多语言支持以及错误处理等。这个实例不仅提供了源码,还可能包含了一些实用工具,帮助你更好...

    使用javaMail发邮件及收取邮箱未读邮件并标记为已读

    在这个资源中,我们将探讨如何使用 JavaMail 实现邮件的发送、接收、查看邮件数量以及未读邮件的标记为已读。 首先,让我们从发送邮件开始。在 JavaMail 中,你需要创建一个 `Session` 对象来配置邮件服务器的连接...

    使用JavaMail发邮件示例录屏

    需要网讯的webex打开,讲解利用JavaMail发送邮件的开发过程。

    使用javamail发邮件并打包为独立的jar可执行文件

    JavaMail是一个广泛使用的Java库,用于处理电子邮件的发送和接收。它提供了丰富的API,使得开发者能够在Java应用程序中方便地实现SMTP、POP3和IMAP等邮件协议的功能。本项目是关于如何利用JavaMail API和Spring Boot...

    javaMail 发邮件

    这个例子展示了如何使用JavaMail发送带附件的邮件。需要注意的是,实际应用中应处理各种异常,确保邮件发送的健壮性。此外,如果你的邮件服务器需要身份验证,还需要提供一个Authenticator来处理登录信息。 总的来...

    基于Javamail的邮件收发系统.zip

    基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件...

    javaMail学习(七)——使用javaMail发复杂邮件

    在这个主题“javaMail学习(七)——使用javaMail发复杂邮件”中,我们将深入探讨如何使用 JavaMail API 发送包含多种附件、HTML 内容和其他复杂元素的邮件。在提供的文件列表中,我们看到一系列名为 MailUtils 的类,...

    JavaMail 具备垃圾邮件过滤功能的邮箱

    这涉及到JavaMail API的使用,如`Session`对象用于配置邮件服务器连接参数,`Message`对象代表一封邮件,`Transport`类则负责实际的邮件发送操作。收邮件时,会通过`Store`对象连接到邮件服务器,获取`Folder`并读取...

    使用JavaMail实现发送邮件

    本篇将深入探讨如何使用JavaMail实现发送邮件,以及相关的源码分析。 首先,我们需要了解JavaMail的基本组件。`javax.mail`库主要包含以下关键接口和类: 1. `Session`:这是JavaMail的核心,代表与邮件服务器的...

    使用javaMail发送邮件

    在本篇文章中,我们将深入探讨如何使用JavaMail API来实现邮件的发送功能。 首先,我们需要引入JavaMail所需的依赖库。在提供的文件列表中,我们看到有以下jar文件: 1. mail.jar:这是JavaMail的核心库,包含了...

    Android 使用javamail发送邮件

    在Android平台上,使用JavaMail库发送邮件是一种常见的实践。JavaMail是一个开源的API,它提供了在Java环境中处理邮件的功能,包括发送、接收和管理电子邮件。在这个案例中,"LouisJavaMail-master"是一个项目仓库,...

    javamail收发邮件加密和不加密

    JavaMail 是一个强大的开源库,用于在Java应用程序中处理电子邮件。它支持多种协议,包括POP3、IMAP和SMTP,这些协议分别用于接收、检索和发送邮件。在使用JavaMail时,了解如何进行加密和非加密通信对于确保数据...

    JavaMail发送邮件的例子

    下面我们将深入探讨JavaMail的基本概念、如何使用JavaMail发送邮件以及在Struts2框架中的实现方式。 JavaMail API主要包括以下组件: 1. `javax.mail.Session`:是JavaMail的核心,负责配置邮件服务器的信息,如...

Global site tag (gtag.js) - Google Analytics