JavaMail是Sun发布的处理电子邮件的应用程序接口,它预置了一些最常用的邮件传送协议的实现方法,并且提供了很容易的方法去调用它们。JavaMail是Sun发布的应用程序接口,所以目前它还没有被JDK包含。因此你需要从Sun的官方网站上下载到JavaMail类文件包。除此之外还需要Sun的JAF(JavaBeans Activation Framework ),否则JavaMail将不能运行。
核心JavaMail API 由七个类组成:Session 、Message 、Address 、Authenticator 、Transport 、Store 及 Folder ,它们都来自javax.mail 、即JavaMail API 顶级包。可以用这些类完成大量常见的电子邮件任务,包括发送消息、检索消息、删除消息、认证、回复消息、转发消息、管理附件、处理基于HTML文件格式的消息以及搜索或过滤邮件列表。
测试邮件发送的源代码:
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Properties;
import java.util.Date;
import javax.mail.*;
import javax.mail.internet.*;
/*
* 测试用JavaMail发送电子邮件
*/
public class SendMail {
private String from;
private String to;
private String smtpServer;
private String subject;
private String content;
private String username;
private String password;
/*
* 构造函数
*/
public void mail(String smtpServer,String from,String to,String username,String password,String subject,String content) {
this.smtpServer = smtpServer;
this.from = from;
this.to = to;
this.username = username;
this.password = password;
this.subject = subject;
this.content = content;
}
public String getFrom() {
return from;
}
public void setFrom(String from) {
this.from = from;
}
public String getTo() {
return to;
}
public void setTo(String to) {
this.to = to;
}
public String getSmtpServer() {
return smtpServer;
}
public void setSmtpServer(String smtpServer) {
this.smtpServer = smtpServer;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public void send() {
Properties props = System.getProperties();
props.put("mail.smtp.host", smtpServer);
props.put("mail.smtp.auth", "true");
/*
* Session: 邮件会话
* 使用Session类提供的getDefaultInstance()静态工厂方法获得一个默认的Session对象
*/
Session session = Session.getDefaultInstance(props,new PasswordAuthenticator(username, password));
//信息对象
Message msg = new MimeMessage(session);
try {
msg.setFrom(new InternetAddress(from));
msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to, false));
msg.setSubject(subject);
msg.setText(content);
//发送邮件的时间
msg.setSentDate(new Date());
//邮件的发送是由Transport来完成的
Transport.send(msg);
} catch (AddressException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
}
}
public static void main(String[] argv) {
SendMail sendMail = new SendMail();
//设置SMTP服务器地址
sendMail.setSmtpServer("smtp.sina.com");
//发送方的邮件地址
sendMail.setFrom("[email=[ft=,2,]zhangxuey@sina.com]zhangxueyi@sina.com[/email]");
//接收方的邮件地址
sendMail.setTo("[email=[ft=,2,]623064832@qq.com]623064832@qq.com[/email]");
//发送方的邮件名称
sendMail.setUsername("[email=[ft=,2,]zhangxueyi@sina.com]zhangxueyi@sina.com[/email]");
//发送方的邮箱密码(根据情况自己设定)
sendMail.setPassword("******");
//邮件的主题
sendMail.setSubject("测试");
//邮件的内容
sendMail.setContent("测试用JavaMail发送电子邮件!");
sendMail.send();
}
}
/*
* 密码验证类 PasswordAuthenticator
* @param username:邮件地址
* @param password:密码
*/
class PasswordAuthenticator extends Authenticator {
private String username;
private String password;
public PasswordAuthenticator(String username, String password) {
this.username = username;
this.password = password;
}//构造方法
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
}
分享到:
相关推荐
6. **发送邮件**:使用`Transport`类的`send()`方法发送邮件。 ```java Transport.send(message); ``` 7. **添加附件**:如果需要发送附件,可以使用`Multipart`和`BodyPart`类。创建一个`MimeMultipart`对象,...
JavaMail 是一个强大的开源库,用于在Java应用程序中发送...以上就是使用JavaMail发送邮件的详细过程,以及与文本编辑器KindEditor的集成方式。在开发过程中,记得根据具体需求调整和优化代码,以满足不同的业务场景。
javamail发送邮件的简单实例
以下是一个简单的JavaMail发送邮件的示例代码: ```java import javax.mail.*; import javax.mail.internet.*; public class SendEmail { public static void main(String[] args) { String to = "recipient@...
以上就是使用JavaMail发送邮件的基本过程。在实际开发中,可能还需要处理更多复杂情况,如SSL/TLS加密、HTML邮件、多部分消息等。JavaMail API提供了丰富的功能来应对这些需求,让开发者能够灵活地构建邮件系统。 ...
下面,我们将深入探讨使用JavaMail发送邮件的实例。 首先,确保你的项目中已经包含了JavaMail的相关依赖。通常,这可以通过在Maven或Gradle的构建文件中添加对应的依赖完成。例如,对于Maven,可以在pom.xml文件中...
下面我们将深入探讨JavaMail的基本概念、如何使用JavaMail发送邮件以及在Struts2框架中的实现方式。 JavaMail API主要包括以下组件: 1. `javax.mail.Session`:是JavaMail的核心,负责配置邮件服务器的信息,如...
这个标题"JavaMail发送邮件(文本、html、附件)"涵盖了使用JavaMail API发送不同格式邮件的核心功能。下面将详细介绍如何利用JavaMail发送文本、HTML和包含附件的邮件,以及在实际应用中需要注意的配置步骤。 1. *...
这个“javamail发送邮件.zip”压缩包显然包含了一个示例项目,演示如何使用JavaMail API发送包含正文文本、图片以及附件的邮件。以下是对这个主题的详细解释: 1. **JavaMail API**: JavaMail API 是一组接口和类...
导入到Myeclipse 即可运行 测试使用的是QQ邮箱 在application.xml中配置的发送邮箱 要到邮箱中设置 POP3/SMTP服务为开。项目不部署到tomcat后启动服务,然后运行test.java 就发送了,。绝对可以发送
最后,使用Transport类发送邮件: ```java Transport.send(message); ``` 以上就是一个简单的JavaMail邮件发送实例。在实际开发中,你可能还需要处理异常、设置超时、支持多语言、使用模板等复杂情况。JavaMail ...
下面是一个使用JavaMail发送邮件的详细示例代码: ```java import javax.mail.*; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class EmailSender { public ...
`Transport.send(Message)` 方法是实际发送邮件的关键调用。 5. **Address**:`Address` 类族包括 `InternetAddress`,用于表示电子邮件地址。`InternetAddress` 支持解析和格式化电子邮件地址,并可以作为 `...
这个“javaMail发送邮件依赖的jar包源码整理”提供了关于如何使用 JavaMail 发送邮件以及相关库的源代码,这对于理解其工作原理和自定义功能非常有帮助。 在JavaMail中,主要涉及以下几个核心组件: 1. **JavaMail...
总结来说,实例47主要涉及JavaMail API的使用,包括建立邮件会话、创建并设置邮件内容以及发送邮件的过程。通过这个例子,你可以学习到如何在Java程序中集成邮件功能,这对于任何需要自动化或交互式发送邮件的应用都...
下面我们将详细探讨如何使用JavaMail发送邮件,以及涉及的关键知识点。 首先,要发送邮件,你需要配置一些必要的参数,包括邮箱账号、密码和SMTP服务器地址(SERVERHOST)。例如,如果你使用的是 Gmail 邮箱,SMTP ...
在这个“javamail发送邮件(超链接返回web后台)”的示例中,我们主要关注的是如何使用 JavaMail 发送包含超链接的邮件,并且这个超链接可以返回到 Web 后台。 1. **JavaMail 基础** JavaMail API 提供了 `javax....
在给定的文件中,`MailExample.java`很可能是展示如何使用JavaMail发送邮件的示例代码。它可能包含以下步骤: 1. 创建`Properties`对象,设置邮件服务器的相关属性,如SMTP主机名、端口、是否使用SSL等。 2. 创建`...
创建一个方法来使用 JavaMail 发送邮件。这通常包括配置 SMTP 服务器信息,创建 `Session` 对象,以及构建 `MimeMessage` 实例。 ```java import javax.mail.*; import javax.mail.internet.*; public void ...