`
wander312
  • 浏览: 215459 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java mail(发邮件)

    博客分类:
  • code
阅读更多

package email;

import java.io.UnsupportedEncodingException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Properties;

import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Authenticator;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.Message.RecipientType;
import javax.mail.internet.AddressException;
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;

import org.apache.commons.mail.Email;
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
import org.apache.commons.mail.MultiPartEmail;

/**
 * 发送邮件原始代码
 * @author wander
 *
 */
public class SendEmailDemo1 {

	public static void main(String[] args) throws Exception {
//		send();
		send2();
		
	}
	
	/**
	 * sun的mail.jar包
	 */
	public static void send() throws AddressException, MessagingException, ParseException, UnsupportedEncodingException {
		String from = "**@163.com";
		String to = "**@qq.com";
		String host = "smtp.163.com";
		
		Properties pro = System.getProperties();//new Properties();
		pro.put("mail.smtp.host", host);
		pro.put("mail.smtp.auth", "true");
		pro.put("mail.smtp.port", 25);
		
		//创建SESSION
		Session session = Session.getDefaultInstance(pro, new Authenticator(){
			public PasswordAuthentication getPasswordAuthentication() {
				return new PasswordAuthentication("wandao312", "");
			}
		});
		
		//打印调试信息
		session.setDebug(true); 
		
		//创建消息, 设置收信人, 主题
		MimeMessage message = new MimeMessage(session);
		message.setFrom(new InternetAddress(from));
		
		//RecipientType.BCC:暗送, RecipientType.CC:抄送, RecipientType.TO:收件人
		message.setRecipient(RecipientType.TO, new InternetAddress(to));
		message.setSubject("邮件测试标题!", "UTF-8");//此处要编码转化, 不然会出显乱码
		message.setText("邮件测试内容", "UTF-8");//纯文本邮件, 如果不是此类型, 则用setContent 
		message.setSentDate(new Date());
		
		//带附件-----begin--------
		Multipart multipart = new MimeMultipart();
		
		
		MimeBodyPart messageBodyPart = new MimeBodyPart();
		String fileName1 = "D:\\dd.sql";
		// 得到数据源  
		FileDataSource fds = new FileDataSource(fileName1);  
		// BodyPart添加附件本身  
		messageBodyPart.setDataHandler(new DataHandler(fds));  
		// BodyPart添加附件文件名  
		messageBodyPart.setFileName(MimeUtility.encodeText("dd.sql"));
		multipart.addBodyPart(messageBodyPart);
		
		//当有附件时设置邮件内容, 如果带附件, 则要再次设置内容, 不然像上面的setText是不起作用
		MimeBodyPart mbp1 = new MimeBodyPart();
		mbp1.setContent("邮件测试内容1", "text/html;charset=UTF-8");
		multipart.addBodyPart(mbp1);
		
		//当有附件时设置邮件内容, 当再次设置内容时, 会把第二次的当成附件
//		MimeBodyPart mbp2 = new MimeBodyPart();
//		mbp2.setContent("邮件测试内容2", "text/html;charset=UTF-8");
//		multipart.addBodyPart(mbp2);
		
		message.setContent(multipart); 
//		-----end--------
		
		Transport.send(message);
//		Transport transport = session.getTransport("smtp");
//		transport.connect("name", "");
//		transport.send(message);
//		transport.close();
	}
	
	/**
	 * APACHE的common-email.jar包.
	 * @throws EmailException
	 */
	public static void send2() throws EmailException {
		//不带附件   ------begin------
		Email email=null;		
		email=new HtmlEmail();
		email.setDebug(true);
		email.setHostName("smtp.163.com");
		email.setSmtpPort(25);
		email.setAuthentication("wandao312","");
		email.setSubject("test");
		email.setCharset("gbk");
		email.setFrom("**@163.com");
		email.addTo("**@qq.com");
		email.setMsg("邮件测试4");
		
		email.send();
//		------end------
		
		
		//带附件   ------begin------
		/*Email multiPartEmail = new HtmlEmail();
		multiPartEmail.setDebug(true);
		multiPartEmail.setHostName("smtp.163.com");
		multiPartEmail.setSmtpPort(25);
		multiPartEmail.setAuthentication("name","");
		multiPartEmail.setSubject("test");
		multiPartEmail.setCharset("gbk");
		multiPartEmail.setFrom("**@163.com");
		multiPartEmail.addTo("**@qq.com");*/
		
		/*EmailAttachment ea = new EmailAttachment();
		ea.setPath("D:\\dd.sql");
		
		multiPartEmail.attach(ea);*/
		
//		multiPartEmail.send();
		
//		------end------
	}
}



分享到:
评论

相关推荐

    java mail发邮件

    在你提供的压缩包文件中,包含了三个关键元素:activation.jar、mail.jar以及SendMail.java,这些都是Java Mail发邮件所需的基本组件。 `activation.jar` 是JavaBeans Activation Framework (JAF) 的一部分,它是...

    java mail 发邮件 demo程序

    这个“java mail 发邮件 demo程序”是为了演示如何使用JavaMail API发送电子邮件而创建的一个简单示例。在这个DEMO程序中,我们将深入探讨JavaMail API的核心概念以及如何构建一个实际的邮件发送功能。 首先,...

    用java mail发邮件源码,支持多种邮局,支持单发和群发

    Java Mail 是一个用于处理电子邮件的开源API,它允许开发者通过编程方式发送、接收和管理邮件。这个源码可能包含了一套完整的解决方案,可以与多种邮局(如Gmail, Yahoo, Hotmail等)进行交互,并且支持单个收件人和...

    java发Email和mail.jar

    也许很多 同道遇到和我一样的问题,建了个web项目,写一堆代码,结果一运行老是报错!!!上网查了查,知道了原因,修改了还是不行。...如果还没有成功,你可以给我发邮件973203075@qq.com,我可以把项目也给你!!

    Java Mail 发布邮件

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

    写java程序实现发邮件功能

    在`Mail_class.java`文件中,我们将实现以下四种类型的邮件发送: 1. **发送纯文本邮件**: 要发送纯文本邮件,你需要创建一个`Properties`对象来设置SMTP服务器的相关属性,然后通过`Session`对象初始化邮件会话...

    java Mail 发送邮件及邮件附件

    Java Mail 发送邮件及邮件附件 Java Mail 是一个广泛使用的 Java 库,用于发送电子邮件。以下是 Java Mail 发送邮件及邮件附件的知识点。 Java Mail 简介 Java Mail 是一个 Java 库,提供了发送电子邮件的功能。...

    java发邮件 java发email

    4. **创建Message对象**:`Message`对象代表邮件本身,使用`MimeMessage`类创建它,并设置发件人、收件人、主题和正文。例如: ```java MimeMessage message = new MimeMessage(session); message.setFrom(new ...

    使用JAVAMail代发邮件

    JavaMail 是一个 Java API,用于在 Java 应用程序中发送和接收电子邮件。它提供了一个抽象层,允许开发者使用不同的电子邮件协议,例如 SMTP、POP3 和 IMAP。 在本文中,我们将讨论如何使用 JavaMail 库来代发邮件...

    java mail 发送邮件

    Java Mail 是一个用于处理电子邮件的开源API,它允许开发者通过编程方式发送、接收和管理邮件。在Java应用程序中,我们通常使用JavaMail API来实现邮件的自动化操作,比如发送带有附件的邮件、群发邮件等。下面将...

    Java Mail邮件发送源码下载

    Java Mail邮件发送是Java开发中常见的一项功能,用于在应用程序中发送电子邮件。Java Mail API提供了一个标准的接口,使得开发者可以方便地实现SMTP(简单邮件传输协议)和其他邮件协议的功能。下面将详细介绍Java ...

    java mail(邮件发送实例)

    Java Mail 是一个用于处理电子邮件的开源API,它允许Java开发者在应用程序中实现发送、接收和操作邮件的功能。在这个实例中,我们将深入探讨如何使用Java Mail API来发送邮件,特别是涉及中文处理和HTML格式的邮件。...

    Java毕业设计源码-基于Java mail的邮件收发系统(系统+开题报告+任务书+文献综述+答辩PPT)(IT计算机)

    Java毕业设计源码-基于Java mail的邮件收发系统(系统+开题报告+任务书+文献综述+答辩PPT)(IT计算机)Java毕业设计源码-基于Java mail的邮件收发系统(系统+开题报告+任务书+文献综述+答辩PPT)(IT计算机)Java...

    java mail 发送邮件代码与架包

    在Java Mail中,你可以设置各种参数,如发件人、收件人、主题、邮件内容等,还可以添加附件、设置抄送和密送等。 在标题和描述中提到的"java mail 发送邮件代码",通常涉及以下几个关键知识点: 1. **JavaMail API...

    Java查询OutLook邮件代码

    `Message` 对象提供了许多方法来获取邮件信息,如 `getMessageContent()` 获取邮件内容,`getFrom()` 获取发件人,`getSubject()` 获取主题,`getDate()` 获取日期等。 6. **处理MIME类型**: 邮件内容通常包含...

    java mail 发送QQ邮件

    Java Mail 是一个用于处理电子邮件的开源API,它允许开发者通过编程方式发送、接收和管理邮件。在Java中,使用Java Mail API发送QQ邮件是常见的需求,尤其对于自动化通知或者服务端消息传递非常实用。以下是对这个...

    java mail 收发邮件Demo源码

    Java Mail 是一个用于处理电子邮件的开源API,它允许开发者通过编程方式发送、接收和操作电子邮件。这个"java mail 收发邮件Demo源码"提供了一个实际应用示例,可以帮助我们理解如何使用Java Mail API实现邮件的收发...

    java 基于javax.mail的邮件发送测试工具

    基于javax.mail的邮件发送测试工具

    javamail"java发送邮件所需要的包

    描述中提到的“java发送邮件所需要的包”即是指JavaMail API,它包含了一系列的类和接口,例如`javax.mail.Session`,它是邮件会话对象,用于配置邮件服务器的连接参数;`javax.mail.Transport`,用于发送邮件;`...

    Java发送outlook邮件

    创建`MimeMessage`对象并设置邮件信息,包括发件人、收件人、主题和正文: ```java MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress("your_email@example.com")); message....

Global site tag (gtag.js) - Google Analytics