`
qzxfl008
  • 浏览: 78784 次
  • 性别: Icon_minigender_1
  • 来自: 浙江
社区版块
存档分类
最新评论

Java Mail学习

    博客分类:
  • java
阅读更多
邮件实体类 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 1.4.5 jar_source 天涯浪子

    Java Mail 是一个开源的 Java API,它允许开发者在 Java 应用程序中处理电子邮件。这个“java mail 1.4.5 jar_source 天涯浪子”资源包含了 Java Mail 1.4.5 版本的 JAR 包、源代码和相关的文档,以及其依赖的 ...

    Java_Mail.zip_java_java mail_java.mail_mail

    Java Mail 是一个强大的Java库,用于处理电子邮件的发送和接收。这个库提供了全面的API,使得开发者能够方便地实现SMTP...通过深入学习和实践,你可以掌握Java Mail的使用技巧,为你的项目添加强大的邮件处理能力。

    Java Mail 发布邮件

    Java Mail 是一个强大的开源库,用于在Java应用程序中处理电子邮件通信。它提供了API,使得开发者可以方便地发送、接收和管理邮件。这个压缩包文件很可能包含了一组示例代码或工具,帮助我们理解如何使用Java Mail ...

    java_mail 1.5.zip

    总之,这个“java_mail 1.5.zip”压缩包对于Java开发者来说是一份宝贵的资源,通过学习源代码,不仅可以掌握如何使用JavaMail API发送邮件,还能深入了解邮件处理背后的机制,提高邮件应用的开发能力。

    java mail课本源代码java web

    Java Mail 是一个强大的Java库,...通过学习和研究这些源代码,开发者可以深入理解Java Mail的工作原理,并在实际项目中灵活运用。对于Java Web开发者来说,掌握Java Mail API是提升工作效率和系统功能的关键技能之一。

    Java Mail实例

    Java Mail邮件开发实例,不过大家注意了,这不是大的项目,是一个小例子,作为初学者的最好资料。...里面资料包括Java Mail学习笔记和现成的例子,以及Java Mail开发所需要的Jar包都有了,上手容易。

    java mail 1.4 源码

    Java Mail 是一个开源的 Java API,它为开发者提供了在 Java 应用程序中发送和接收电子邮件的功能。Java Mail 1.4 源码的分析和理解有助于我们深入探究其内部工作原理,优化邮件处理效率,并能根据需求进行定制化...

    java Mail的Demo

    通过理解Java Mail的基本概念、工作原理,以及通过示例代码学习如何发送邮件,开发者可以将邮件功能集成到各种Java应用程序中,提升其功能性和用户体验。在实际开发中,根据项目需求对Java Mail API进行适当的扩展和...

    java mail邮箱发送案例

    Java Mail 是一个用于处理电子邮件的开源API,它允许开发者在Java应用程序中发送和接收邮件。在Java Mail API的帮助下,你可以实现各种复杂的邮件功能,比如添加附件、设置HTML内容、发送带有图片的邮件等。本案例将...

    java mail api下载

    3. **帮助文档**:可能包括API文档(如Javadoc),提供了关于接口、类和方法的详细说明,对学习和使用Java Mail API非常有帮助。此外,还可能包含用户指南、教程和其他资源,帮助开发者解决在使用过程中遇到的问题。...

    (java_mail_web.rar_java mail_java web_java web mail _javamail we

    Java Mail 是一个用于处理电子邮件的开源API,它允许开发者在Java应用程序中收发邮件。Java Web Mail 是基于Java...开发者可以通过阅读这些文件来学习和理解如何在Java Web环境中集成和使用Java Mail API实现邮件服务。

    Java Mail的使用

    Java Mail 是一个用于处理电子邮件的开源API,它允许开发者在Java应用程序中发送和接收邮件。这个API遵循JSR 54规范,提供了丰富的功能,包括SMTP、POP3、IMAP协议的支持,以及MIME消息的处理。在Java Mail中,我们...

    java mail发送 源码

    在这个压缩包中,包含了一个使用Java Mail API发送邮件的源码示例,这对于学习和集成到项目中非常有用。 Java Mail API 包含多个组件,主要由以下部分组成: 1. javax.mail:核心API,提供了邮件会话、存储和消息...

    Java_web_mail.rar_Web Java mail_java mail查询_java webmail

    Java Web Mail是一个基于Java技术构建的实用电子邮局系统,主要利用了JavaMail API来处理邮件的发送、接收和管理。这个系统展示了如何在Web应用中集成电子邮件功能,为用户提供了一个方便的界面来访问和管理他们的...

    Java Mail 开发组件 jar包

    Java Mail 是一个强大的开源库,专门用于在Java应用程序中处理电子邮件。这个组件使得开发者能够方便地执行发送...通过深入学习和掌握Java Mail API,开发者可以构建功能丰富的邮件系统,满足各种复杂的邮件处理需求。

    第九 Java Mail 编程PPT学习教案.pptx

    学习Java Mail编程能够使开发者具备创建高效、可靠的邮件应用程序的能力,无论是简单的文本邮件还是复杂的多媒体邮件,都能轻松处理。对于J2EE开发者来说,理解Java Mail API并能熟练运用,是构建企业级应用不可或缺...

    Java Mail POP3 Client.zip

    Java Mail POP3 Client是一个用于实现电子邮件收发功能的Java应用程序,它基于JavaMail API和POP3(Post Office Protocol version 3)协议。POP3是一种广泛使用的邮件存储和检索协议,适用于下载邮件到本地客户端...

    java mail 收发邮件Demo源码

    总之,这个"java mail 收发邮件Demo源码"涵盖了Java Mail API的核心功能,是学习和实践邮件处理的一个宝贵资源。通过深入理解和实践,开发者可以熟练掌握如何利用Java进行邮件的收发操作,包括处理附件和解决编码...

    java mail 发送邮件

    Java Mail 是一个用于处理电子邮件的开源API,它允许开发者通过编程方式发送、接收和管理邮件。在Java应用程序中,我们通常使用JavaMail API...通过学习和实践这些示例,你将能够熟练地使用Java Mail API进行邮件操作。

    用Java实现E-mail客户端.rar_java E-ma_java mail_java mail api_javamail_

    这个项目不仅是一个学习资源,也是一个基础的模板,可以帮助开发者快速搭建自己的E-mail应用。理解并掌握JavaMail API的使用,能让你在处理与电子邮件相关的任务时游刃有余,无论是简单的发送通知还是构建复杂的邮件...

Global site tag (gtag.js) - Google Analytics