import java.io.File;
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.MultiPartEmail;
public class SendMail {
/**
* 发送邮件
* @param hostname :邮件服务器(stmp.163.com)
* @param sender : 发件人
* @param senderPassword :邮箱密码(有部分邮件服务器,需要验证用户信息,例如163)
* @param subject : 邮件主题
* @param content : 邮件内容
* @param emails : 收件人邮箱数组
* @param accessories : 邮件文件数组
*/
public static void sendMail(String hostname, String sender,
String senderPassword, String subject, String content,
String[] emails, File[] accessories) throws EmailException{
MultiPartEmail email = new MultiPartEmail();//如果要发送带附件的邮件,需使用这个类
email.setHostName(hostname); //指定要使用的邮件服务器
email.setAuthentication(sender, senderPassword); //使用邮件服务器需提供已注册的用户名、密码,保证邮件正常发送
email.setCharset("utf-8"); //设置编码格式
StringBuffer sendEmails = new StringBuffer("");
email.setFrom(sender);
for(int i=0;i<emails.length;i++){
if(validateEmail(emails[i])){
email.addTo(emails[i]); //设置收件人
sendEmails.append(emails[i]+";");
}
}
//如果存在附件,则添加附件
if(null != accessories){
for(int i=0;i<accessories.length;i++){
if(accessories[i].isFile()){
System.out.println("附件:" + accessories[i].getPath());
EmailAttachment attachment = new EmailAttachment();
attachment.setPath(accessories[i].getPath());
attachment.setName(accessories[i].getName());
attachment.setDescription(accessories[i].getName());
attachment.setDisposition(EmailAttachment.ATTACHMENT); //附件的类型
email.attach(attachment);
}
}
}
email.setSubject(subject);//设置主题
email.setMsg(content);//设置邮件内容
email.send();
System.out.println("主题[" + subject + "]邮件从[" + sender + "]发送到[" + sendEmails.substring(0, sendEmails.length()-1)+ "]" + ",成功");
}
}
分享到:
相关推荐
总结一下,Java发送带有附件的邮件涉及到JavaMail API的使用,包括配置SMTP服务器、创建邮件对象、添加内容和附件,以及发送邮件等步骤。理解这些步骤和相关类的作用是实现此功能的关键。在处理不同类型的邮件时,...
Java代码实现发送邮件功能,支持发送带有附件的。需要直接拿走
"javaemail发送邮件(带附件)" javaemail发送邮件(带附件)是使用Java技术实现的邮件发送功能,支持带附件的发送。下面是该功能的知识点总结: 1. 使用JavaMailSenderImpl类来发送邮件,需要设置SMTP服务器、用户名...
总结一下,Java发送带附件的邮件涉及到的主要知识点有: - 配置文件的读取与解析。 - JavaMail API的使用,包括`Session`、`MimeMessage`、`Multipart`、`MimeBodyPart`等类。 - SMTP协议的使用,包括身份验证和邮件...
Java邮件发送技术是Java开发中一个实用且常见的功能,它允许开发者通过编程方式发送电子邮件,包括文本、HTML格式的正文以及附件。在本教程中,我们将深入探讨如何使用JavaMail API来实现邮件发送,特别是含附件的...
要实现“Java实现发送邮件内容+附件”,我们需要理解SMTP(Simple Mail Transfer Protocol)协议,并使用JavaMail API来创建和发送电子邮件。以下是一份详细的步骤和知识点解释: 1. **JavaMail API**:JavaMail ...
Java发送邮件是软件开发中常见的需求,特别是在自动化通知、用户验证和客户服务等方面。在这个主题下,我们将探讨三种Java实现邮件发送的方式,以及如何通过提供的代码和参考资料进行实践。 首先,让我们了解一下...
这个"Java发送邮件_单附件_多附件_加抄送多人 _2个示例zip"的资源包含两个核心类:EmailManager.java和AnnexMailService.java,它们提供了一个强大的邮件发送功能,支持单个或多个附件,以及添加抄送人。下面将详细...
Java邮件发送功能是Java开发中常见的一项...通过以上步骤和代码,你可以实现使用Java发送带有附件的邮件。不过,实际开发中,你可能还需要考虑其他因素,如使用模板引擎生成邮件内容、批量发送邮件、错误重试策略等。
Java发送邮件功能是Java开发中常见的一项任务,它允许开发者通过编程的方式实现电子邮件的发送,包括正文内容、附件以及抄送等高级功能。在Java中,我们主要利用JavaMail API来实现这一目标。 JavaMail API是一个...
7. **发送邮件** 通过`Transport`类的`send`方法发送已准备好的`Message`。发送前,确保`Session`对象已经设置了认证信息,以便通过SMTP服务器的身份验证。 8. **监控代码实现** 如果需要实现对URL的访问监控,...
【Java 发送邮件及邮件附件】 在Java编程中,发送邮件及附加文件是一项常见的任务,这通常涉及到SMTP(Simple Mail Transfer Protocol)协议。这里我们分析的`Mail.java`类提供了一个实现此功能的示例,它使用了...
本文将详细讲解如何使用Java发送带有附件的邮件,主要涉及以下知识点: 1. JavaMail API:JavaMail是Java平台上的一个开源库,提供了用于处理邮件的API。它允许开发人员创建、发送、接收和处理电子邮件。为了发送...
首先,我们需要准备发送邮件的基础环境,这通常涉及使用JavaMail API。JavaMail API提供了一个强大的框架来处理邮件服务,包括创建、发送和接收邮件。确保你的项目已经引入了以下依赖: ```xml <groupId>...
首先,Java发送邮件主要依赖于JavaMail API,这是一个开源的Java库,它提供了标准的JavaMail API规范,允许开发者发送、接收和处理邮件。在发送Outlook邮件时,我们通常不是直接与Outlook交互,而是使用SMTP(Simple...
Java发送邮件是软件开发中常见的功能,特别是在自动化通知、用户注册验证或客户服务中。Java Mail API 是Java平台上的一个标准库,它提供了处理电子邮件的工具,包括创建、发送和接收邮件。在这个实例中,我们将深入...
根据提供的文件信息,本文将详细解释如何使用Java发送带有附件及多媒体内容(如图片)的电子邮件。本示例代码及说明适用于希望利用Java Mail API发送包含丰富格式内容邮件的开发者。 ### Java 发送带有附件及多媒体...
使用 `Transport.send()` 方法发送邮件: ```java Transport.send(mailMessage); ``` 以上就是使用JavaMail发送带有附件的邮件的基本步骤。这个过程需要正确配置邮件服务器的属性,如SMTP服务器地址、端口、用户名...
本示例将详细介绍如何在Java中使用模板发送邮件,以及相关的知识点。 首先,你需要了解JavaMail API。这是一个开放源码的库,用于处理邮件协议,如SMTP(简单邮件传输协议)。要使用JavaMail,需要在项目中引入相应...
在这个"java发送邮件完整程序"中,我们将会探讨如何使用Java语言来构建一个邮件发送功能,包括所需的库、步骤以及关键代码片段。 首先,Java Mail API是实现邮件发送的核心库,它提供了丰富的接口和类来处理邮件的...