`
SuperCustomer
  • 浏览: 111031 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Java邮件开发

阅读更多
要用到的jar包:mail.jar,activation.jar(jdk6不需要用此jar包),commons-email.jar。
1、发送时验证
import java.util.Properties;

import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class SimpleMail{
    
    public static void main(String[] args){

        Properties properties=new Properties();
        properties.setProperty("mail.smtp.auth","true");
        properties.setProperty("mail.transport.protocol","smtp");

        Session session=Session.getInstance(properties);
        //设为debug模式可在控制台看到发送邮件的全过程
        session.setDebug(true);
		
        Message message=new MimeMessage(session);
        message.setFrom(new InternetAddress("superzangcao@sina.com"));
        message.setSubject("simple java mail");
        message.setText("hello,superzhang!this is a simple java mail");
		
        Transport transport=session.getTransport();
        //发送邮件时进行验证
        transport.connect("smtp.sina.com", 25, "superzangcao","super");
        transport.sendMessage(message,InternetAddress.parse("578806535@qq.com,customme@163.com,superzangcao@sina.com"));	

    }

}

2、连接时验证
import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.Message.RecipientType;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class StaticTransport {

	public static void main(String[] args) throws Exception{
		
	    Properties properties=new Properties();
	    properties.setProperty("mail.smtp.auth", "true");
	    properties.setProperty("mail.transport.protocol", "smtp");
	    properties.setProperty("mail.host", "smtp.sina.com");
             
        //获取session实例时进行验证
	    //Authenticator是抽象类,此处有一个匿名类,该匿名类继承抽象类Authenticator,new的是匿名类,当然,你也可以单独写一个类继承Authenticator,重写它的getPasswordAuthentication()方法
	    Session session=Session.getInstance(properties,new Authenticator(){
		    protected PasswordAuthentication getPasswordAuthentication(){
			    return new PasswordAuthentication("superzangcao","super");
		    }
	    });
	    session.setDebug(true);
		
	    Message message=new MimeMessage(session);
	    message.setFrom(new InternetAddress("superzangcao@sina.com"));
	    message.setRecipients(RecipientType.TO,InternetAddress.parse("578806535@qq.com,superzangcao@sina.com,beyondsuperzhang@gmail.com,customme@163.com"));
	    message.setSubject("static transport");
	    message.setContent("this email is transported by <font color='red'>static</font> transport","text/html;charset=utf-8;");
		
	    Transport.send(message);

    }

}

3、带附件的邮件
import java.util.Properties;

import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;

public class MultipartMail {

	public static void main(String[] args)throws Exception{
		
		Properties properties=new Properties();
		properties.put("mail.smtp.auth", "auth");
		properties.put("mail.transport.protocol", "smtp");
		
		Session session=Session.getInstance(properties);
		session.setDebug(true);
		
		Message message=new MimeMessage(session);
		message.setFrom(new InternetAddress("superzangcao@sina.com"));
		message.setSubject("multipart mail");
		
		Multipart multipart=new MimeMultipart("mixed");
		message.setContent(multipart,"text/html;charset=utf-8;");
		
		//邮件正文body
		MimeBodyPart body=new MimeBodyPart();
		Multipart bodyMultipart=new MimeMultipart("related");
		BodyPart bodyPart=new MimeBodyPart();
		bodyPart.setDataHandler(new DataHandler(new FileDataSource("D:/mail.bmp")));
		bodyMultipart.addBodyPart(bodyPart);
		body.setContent(bodyMultipart);
		body.setContent("", "text/html;charset=utf-8");
		
		//邮件附件attachment
		MimeBodyPart attachment=new MimeBodyPart();
		attachment.setDataHandler(new DataHandler(new FileDataSource("D:/ax_files.xml")));
		attachment.setFileName(MimeUtility.encodeText("中文")+"xml");
		
		multipart.addBodyPart(body);
		multipart.addBodyPart(attachment);
				
		Transport transport=session.getTransport();
		transport.connect("smtp.sina.com",25, "superzangcao","super");
		transport.sendMessage(message,InternetAddress.parse("beyondsuperzhang@gmail.com,beyondsuperzhang@qq.com"));

	}

}


4、用commons-email发送简单邮件
import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;

import org.apache.commons.mail.SimpleEmail;

public class SimpleMail {

	public static void main(String[] args) throws Exception{
		
		SimpleEmail email=new SimpleEmail();
		email.setHostName("smtp.sina.com");
		email.setAuthenticator(new Authenticator(){
			protected PasswordAuthentication getPasswordAuthentication(){
				return new PasswordAuthentication("superzangcao","super");
			}
		});

		email.setDebug(true);
		email.setCharset("UTF-8");
		
		email.setFrom("superzangcao@sina.com");
		email.addTo("beyondsuperzhang@qq.com");
		email.setSubject("你好!");
		email.setMsg("hello,superzhang!很高兴认识你。");
		email.send();

	}

}


5、用commons-email发送带附件的邮件
import javax.mail.BodyPart;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;

import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.MultiPartEmail;

public class MultiMail {

	public static void main(String[] args) throws Exception {

		MultiPartEmail email = new MultiPartEmail();
		email.setHostName("smtp.sina.com");
		email.setAuthentication("superzangcao", "super");
		email.setCharset("UTF-8");
		email.setDebug(true);

		email.setFrom("superzangcao@sina.com");
		email.addTo("beyondsuperzhang@qq.com");
		email.setSubject("带附件的邮件");
		
		MimeMultipart body=new MimeMultipart();
		BodyPart bodyPart=new MimeBodyPart();
		bodyPart.setContent("<font color=red>你好,中文邮件也没问题</font>", "text/html;charset=utf-8");
		body.addBodyPart(bodyPart);
		email.addPart(body);
		
		EmailAttachment attachment = new EmailAttachment();
		attachment.setDisposition(EmailAttachment.ATTACHMENT);
		attachment.setName(MimeUtility.encodeText("附件"));
		attachment.setPath("D:\\Java邮件开发驱动包.rar");
		email.attach(attachment);
		
		email.send();

	}
}

分享到:
评论

相关推荐

    张孝祥Java邮件开发详解110M

    在IT行业中,Java邮件开发是一项基础且重要的技能,尤其对于构建企业级应用和服务来说更是不可或缺。张孝祥的"Java邮件开发详解"教程无疑是学习这一主题的宝贵资源。本教程可能包含了从邮件协议理解到实际JavaMail ...

    张孝祥Java邮件开发详解

    本教程“张孝祥Java邮件开发详解”深入探讨了如何使用Java来实现邮件的发送功能,涵盖了从基础概念到高级特性的全方位讲解。 首先,Java Mail API是Java中用于处理邮件的核心库,它提供了丰富的类和接口,使得...

    java邮件开发_Java邮件开发源代码

    Java邮件开发是IT行业中一个常见的任务,特别是在自动化通知、数据报告或者客户服务中。Java提供了强大的API,如JavaMail API,来实现邮件的发送和接收。本文将深入探讨Java邮件开发的相关知识点,包括JavaMail API...

    传智播客张孝祥java邮件开发_Java邮件开发源代码.rar

    Java邮件开发是Java编程领域中的一个重要部分,它允许开发者通过编程方式发送、接收和处理电子邮件。这个主题由知名教育机构传智播客的讲师张孝祥进行讲解,并提供了相关的源代码供学习者参考。在本篇文章中,我们将...

    张孝祥Java邮件开发详解(最全的文档记录)

    Java邮件开发是一个重要的技术领域,尤其对于企业级应用来说,常常需要通过编程方式发送通知、报告或者自动化的通信。张孝祥的Java邮件开发详解涵盖了关键的概念和实践,以下是其中的知识点总结: 1. **邮件服务...

    java 邮件 开发

    Java邮件开发是Java编程领域中的一个重要部分,它允许开发者通过编程方式发送、接收和处理电子邮件。在Java中,我们主要依赖于JavaMail API来实现这一功能。JavaMail API是一个开源库,提供了丰富的类和接口,使得与...

    Java邮件开发详解

    Java邮件开发详解 Java邮件开发详解

    java邮件开发实例

    ### Java邮件开发实例知识点 #### 一、Java邮件发送机制概览 在Java开发中,邮件功能是非常实用的一项技术,可以用于用户注册验证、找回密码等场景。本篇将通过一个具体的实例——“Java邮件开发实例”,来详细...

    张孝祥JAVA邮件开发源码

    "张孝祥JAVA邮件开发源码"是针对这一需求提供的一套实用的源代码示例,由知名讲师张孝祥教授精心编写的。这套源码旨在帮助开发者快速理解和实现邮件发送功能,提升开发效率。 JavaMail API是Java中处理邮件的主要库...

    01_传智播客张孝祥java邮件开发_课程价值与目标介绍

    在IT行业中,Java邮件开发是一项重要的技能,尤其对于那些需要构建企业级应用或者进行自动化通信的开发者来说。张孝祥老师的“Java邮件开发”讲座,是深入理解和掌握这一技术的有效途径。本讲座第一讲主要围绕课程的...

    张孝祥Java邮件开发详解.docx

    【Java邮件开发详解】 在Java开发中,发送和接收邮件是一项常见的任务,涉及到的主要协议有SMTP(Simple Mail Transfer Protocol)和POP3(Post Office Protocol version 3)。SMTP用于发送邮件,而POP3则用于接收...

    《Java邮件开发详解》源代码

    Java邮件开发是一个重要的领域,特别是在企业级应用中,用于发送通知、报告或者验证用户身份等。《Java邮件开发详解》这本书深入浅出地讲解了如何使用JavaMail API进行邮件编程。源代码通常提供了实例和练习,帮助...

    04_传智播客张孝祥java邮件开发_邮件协议总结与邮件服务器的工作原理

    Java邮件开发是一个重要的技术领域,尤其对于需要进行自动化通信或者数据传输的应用来说。在这个主题中,我们将深入探讨邮件协议的总结以及邮件服务器的工作原理。首先,让我们从基础开始,了解电子邮件系统的核心...

    java邮件开发详解

    java邮件开发经典教程,可以熟悉邮件基本协议,掌握邮件开发必备的工具书之一。

    张孝祥Java邮件开发详解-高清扫描版-part1

    张孝祥Java邮件开发详解-高清扫描版-part1 绝对是精品 张孝祥的好书 。很大,分为2部分。

    JAVA邮件开发详解-完整详细书签-有代码-part2

    JAVA邮件开发详解PDF。自制完整详细书签(X.X.X)与目录相同,带部分书中代码

    传智播客张孝祥java邮件开发_Java邮件开发源代码_16(完)

    Java邮件开发是Java编程中的一个重要领域,特别是在企业级应用中,用于发送通知、报告、确认信息等。张孝祥老师的课程“传智播客张孝祥java邮件开发”旨在教授如何利用Java进行邮件的发送和处理。在这个16节的完整...

Global site tag (gtag.js) - Google Analytics