邮件实体类 MailInfo
package org.xfl.jmail;
import java.util.Properties;
public class MailInfo {
private String host;// 邮件服务器域名或IP
private String from;// 发件人
private String port;
private String to;// 收件人
private String cc;// 抄送人
private String username;// 发件人用户名
private String password;// 发件人密码
private String title;// 邮件的主题
private String content;// 邮件的内容
private boolean validate = false;
public String getHost() {
return host;
}
public void setHost(String host) {
this.host = host;
}
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 getCc() {
return cc;
}
public void setCc(String cc) {
this.cc = cc;
}
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 String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getPort() {
return port;
}
public void setPort(String port) {
this.port = port;
}
public boolean isValidate() {
return validate;
}
public void setValidate(boolean validate) {
this.validate = validate;
}
public Properties getProperty() {
Properties prop = new Properties();
prop.put("mail.smtp.host", this.host);
prop.put("mail.smtp.port", this.port);
prop.put("mail.smtp.auth", validate ? "true" : "false");
return prop;
}
}
自定义验证类MyAuthenticator
package org.xfl.jmail;
import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;
public class MyAuthenticator extends Authenticator {
private String strUser;
private String strPwd;
public MyAuthenticator(String user, String password) {
this.strUser = user;
this.strPwd = password;
}
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(strUser, strPwd);
}
}
发送器类
package org.xfl.jmail;
import java.util.Date;
import java.util.Properties;
import javax.mail.Address;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class MailSender {
protected boolean sendMail(MailInfo mailInfo) {
Properties prop = mailInfo.getProperty();
MyAuthenticator auth = null;
if (mailInfo.isValidate()) {
auth = new MyAuthenticator(mailInfo.getUsername(),
mailInfo.getPassword());
}
Session sendMailSession = Session.getDefaultInstance(prop, auth);
try {
// 根据session创建一个邮件消息
Message mailMessage = new MimeMessage(sendMailSession);
// 创建邮件发送者地址
Address from = new InternetAddress(mailInfo.getFrom());
// 设置邮件消息的发送者
mailMessage.setFrom(from);
// 创建邮件的接收者地址,并设置到邮件消息中
Address to = new InternetAddress(mailInfo.getTo());
mailMessage.setRecipient(Message.RecipientType.TO, to);
// 设置邮件消息的主题
mailMessage.setSubject(mailInfo.getTitle());
// 设置邮件消息发送的时间
mailMessage.setSentDate(new Date());
// 设置邮件消息的主要内容
String mailContent = mailInfo.getContent();
mailMessage.setText(mailContent);
// 发送邮件
Transport.send(mailMessage);
return true;
} catch (MessagingException ex) {
ex.printStackTrace();
}
return false;
}
}
测试:
package org.xfl.jmail;
public class JavaMailMain {
private static String user = "****@sina.com";
private static String pwd = "****";
public static void main(String[] args) {
MailInfo mail = new MailInfo();
mail.setFrom("****@sina.com");
mail.setTo("****@qq.com");
mail.setTitle("Java Mail test");
mail.setContent("hello world");
mail.setUsername(user);
mail.setPassword(pwd);
mail.setHost("smtp.sina.com");
mail.setPort("25");
mail.setValidate(true);
MailSender jmail = new MailSender();
if (jmail.sendMail(mail)) {
System.out.println("ok");
}
else {
System.out.println("failure");
}
}
}
分享到:
相关推荐
Java Mail 是一个开源的 Java API,它允许开发者在 Java 应用程序中处理电子邮件。这个“java mail 1.4.5 jar_source 天涯浪子”资源包含了 Java Mail 1.4.5 版本的 JAR 包、源代码和相关的文档,以及其依赖的 ...
Java Mail 是一个强大的Java库,用于处理电子邮件的发送和接收。这个库提供了全面的API,使得开发者能够方便地实现SMTP...通过深入学习和实践,你可以掌握Java Mail的使用技巧,为你的项目添加强大的邮件处理能力。
Java Mail 是一个强大的开源库,用于在Java应用程序中处理电子邮件通信。它提供了API,使得开发者可以方便地发送、接收和管理邮件。这个压缩包文件很可能包含了一组示例代码或工具,帮助我们理解如何使用Java Mail ...
总之,这个“java_mail 1.5.zip”压缩包对于Java开发者来说是一份宝贵的资源,通过学习源代码,不仅可以掌握如何使用JavaMail API发送邮件,还能深入了解邮件处理背后的机制,提高邮件应用的开发能力。
Java Mail 是一个强大的Java库,...通过学习和研究这些源代码,开发者可以深入理解Java Mail的工作原理,并在实际项目中灵活运用。对于Java Web开发者来说,掌握Java Mail API是提升工作效率和系统功能的关键技能之一。
Java Mail邮件开发实例,不过大家注意了,这不是大的项目,是一个小例子,作为初学者的最好资料。...里面资料包括Java Mail学习笔记和现成的例子,以及Java Mail开发所需要的Jar包都有了,上手容易。
Java Mail 是一个开源的 Java API,它为开发者提供了在 Java 应用程序中发送和接收电子邮件的功能。Java Mail 1.4 源码的分析和理解有助于我们深入探究其内部工作原理,优化邮件处理效率,并能根据需求进行定制化...
通过理解Java Mail的基本概念、工作原理,以及通过示例代码学习如何发送邮件,开发者可以将邮件功能集成到各种Java应用程序中,提升其功能性和用户体验。在实际开发中,根据项目需求对Java Mail API进行适当的扩展和...
Java Mail 是一个用于处理电子邮件的开源API,它允许开发者在Java应用程序中发送和接收邮件。在Java Mail API的帮助下,你可以实现各种复杂的邮件功能,比如添加附件、设置HTML内容、发送带有图片的邮件等。本案例将...
3. **帮助文档**:可能包括API文档(如Javadoc),提供了关于接口、类和方法的详细说明,对学习和使用Java Mail API非常有帮助。此外,还可能包含用户指南、教程和其他资源,帮助开发者解决在使用过程中遇到的问题。...
Java Mail 是一个用于处理电子邮件的开源API,它允许开发者在Java应用程序中收发邮件。Java Web Mail 是基于Java...开发者可以通过阅读这些文件来学习和理解如何在Java Web环境中集成和使用Java Mail API实现邮件服务。
Java Mail 是一个用于处理电子邮件的开源API,它允许开发者在Java应用程序中发送和接收邮件。这个API遵循JSR 54规范,提供了丰富的功能,包括SMTP、POP3、IMAP协议的支持,以及MIME消息的处理。在Java Mail中,我们...
在这个压缩包中,包含了一个使用Java Mail API发送邮件的源码示例,这对于学习和集成到项目中非常有用。 Java Mail API 包含多个组件,主要由以下部分组成: 1. javax.mail:核心API,提供了邮件会话、存储和消息...
Java Web Mail是一个基于Java技术构建的实用电子邮局系统,主要利用了JavaMail API来处理邮件的发送、接收和管理。这个系统展示了如何在Web应用中集成电子邮件功能,为用户提供了一个方便的界面来访问和管理他们的...
Java Mail 是一个强大的开源库,专门用于在Java应用程序中处理电子邮件。这个组件使得开发者能够方便地执行发送...通过深入学习和掌握Java Mail API,开发者可以构建功能丰富的邮件系统,满足各种复杂的邮件处理需求。
学习Java Mail编程能够使开发者具备创建高效、可靠的邮件应用程序的能力,无论是简单的文本邮件还是复杂的多媒体邮件,都能轻松处理。对于J2EE开发者来说,理解Java Mail API并能熟练运用,是构建企业级应用不可或缺...
Java Mail POP3 Client是一个用于实现电子邮件收发功能的Java应用程序,它基于JavaMail API和POP3(Post Office Protocol version 3)协议。POP3是一种广泛使用的邮件存储和检索协议,适用于下载邮件到本地客户端...
总之,这个"java mail 收发邮件Demo源码"涵盖了Java Mail API的核心功能,是学习和实践邮件处理的一个宝贵资源。通过深入理解和实践,开发者可以熟练掌握如何利用Java进行邮件的收发操作,包括处理附件和解决编码...
Java Mail 是一个用于处理电子邮件的开源API,它允许开发者通过编程方式发送、接收和管理邮件。在Java应用程序中,我们通常使用JavaMail API...通过学习和实践这些示例,你将能够熟练地使用Java Mail API进行邮件操作。
这个项目不仅是一个学习资源,也是一个基础的模板,可以帮助开发者快速搭建自己的E-mail应用。理解并掌握JavaMail API的使用,能让你在处理与电子邮件相关的任务时游刃有余,无论是简单的发送通知还是构建复杂的邮件...