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", "你好!");
分享到:
相关推荐
使用 JavaMail 代发邮件 使用 JavaMail 库可以轻松地在 Java 应用程序中发送电子邮件。JavaMail 是一个 Java API,用于在 Java 应用程序中发送和接收电子邮件。它提供了一个抽象层,允许开发者使用不同的电子邮件...
在这个资源中,我们将探讨如何使用 JavaMail 实现邮件的发送、接收、查看邮件数量以及未读邮件的标记为已读。 首先,让我们从发送邮件开始。在 JavaMail 中,你需要创建一个 `Session` 对象来配置邮件服务器的连接...
在阅读博文《『JAVA基础』使用JavaMail发邮件的实例》后,你可以进一步了解如何处理更复杂的邮件场景,如HTML格式的邮件、多语言支持以及错误处理等。这个实例不仅提供了源码,还可能包含了一些实用工具,帮助你更好...
需要网讯的webex打开,讲解利用JavaMail发送邮件的开发过程。
JavaMail是一个广泛使用的Java库,用于处理电子邮件的发送和接收。它提供了丰富的API,使得开发者能够在Java应用程序中方便地实现SMTP、POP3和IMAP等邮件协议的功能。本项目是关于如何利用JavaMail API和Spring Boot...
这个例子展示了如何使用JavaMail发送带附件的邮件。需要注意的是,实际应用中应处理各种异常,确保邮件发送的健壮性。此外,如果你的邮件服务器需要身份验证,还需要提供一个Authenticator来处理登录信息。 总的来...
基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件...
在这个主题“javaMail学习(七)——使用javaMail发复杂邮件”中,我们将深入探讨如何使用 JavaMail API 发送包含多种附件、HTML 内容和其他复杂元素的邮件。在提供的文件列表中,我们看到一系列名为 MailUtils 的类,...
本篇将深入探讨如何使用JavaMail实现发送邮件,以及相关的源码分析。 首先,我们需要了解JavaMail的基本组件。`javax.mail`库主要包含以下关键接口和类: 1. `Session`:这是JavaMail的核心,代表与邮件服务器的...
这涉及到JavaMail API的使用,如`Session`对象用于配置邮件服务器连接参数,`Message`对象代表一封邮件,`Transport`类则负责实际的邮件发送操作。收邮件时,会通过`Store`对象连接到邮件服务器,获取`Folder`并读取...
在本篇文章中,我们将深入探讨如何使用JavaMail API来实现邮件的发送功能。 首先,我们需要引入JavaMail所需的依赖库。在提供的文件列表中,我们看到有以下jar文件: 1. mail.jar:这是JavaMail的核心库,包含了...
本资料包主要涵盖了使用 JavaMail 实现回执邮件以及相关邮件操作的知识点。 首先,发送带有回执请求的邮件是通过设置邮件头实现的。在创建 `MimeMessage` 对象时,可以调用 `setHeader()` 方法添加特定的头字段。...
下面我们将深入探讨JavaMail的基本概念、如何使用JavaMail发送邮件以及在Struts2框架中的实现方式。 JavaMail API主要包括以下组件: 1. `javax.mail.Session`:是JavaMail的核心,负责配置邮件服务器的信息,如...
在使用JavaMail进行邮件发送的过程中,可能会遇到以下几种常见问题:发送成功但收件方未收到邮件、邮件收到后无主题或无收件人信息以及邮件内容出现乱码等情况。本文将详细探讨这些问题的原因及相应的解决方案。 ##...