javaMail 发送邮件

第一步:你需要两个jar包,分别是mail.jar和activation.jar。


第二步:编写一个MailTest.java类:

package com.victorzhang;

import java.io.File;
import java.io.IOException;
import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;
import javax.mail.internet.MimeMultipart;

import org.junit.Test;

public class MailTest {
	@Test
	public void MailSend() throws AddressException, MessagingException, IOException{
		/*
		 * 1.得到session
		 */
		Properties props = new Properties();
		props.setProperty("mail.host", "smtp.163.com");//设置服务器主机名
		props.setProperty("mail.smtp.auth", "true");//设置需要认证
		
		//创建认证器
		Authenticator auth = new Authenticator() {
			public PasswordAuthentication getPasswordAuthentication(){
				return new PasswordAuthentication("###","###");//用户名和密码
			}
		};
		
		Session session = Session.getInstance(props, auth);
		

		/*
		 * 2.创建MimeMessage
		 */
		MimeMessage msg = new MimeMessage(session);//创建邮件对象
		msg.setFrom(new InternetAddress("15822452355@163.com"));//设置发件人
		msg.addRecipient(RecipientType.TO, new InternetAddress("408089826@qq.com"));//设置收件人
		msg.addRecipient(RecipientType.CC, new InternetAddress("408089826@qq.com"));//抄送
		msg.addRecipient(RecipientType.BCC, new InternetAddress("408089826@qq.com"));//暗送
		
		msg.setSubject("测试邮件");//设置邮件主题
		
		MimeMultipart partlist = new MimeMultipart();//主体部件
		msg.setContent(partlist);//把邮件内容设置成多部件的集合对象
		
		MimeBodyPart part1 = new MimeBodyPart();//创建一个部件
		part1.setContent("一封测试邮件", "text/html;charset=utf-8");//给部件指定内容
		partlist.addBodyPart(part1);//把部件添加到集合中
		
		MimeBodyPart part2 = new MimeBodyPart();//创建第二个部件
		part2.attachFile(new File("E:/windows快捷键.txt"));//为部件指定附件
		part2.setFileName("windows.txt");
		partlist.addBodyPart(part2);
		
		
		/*
		 * 3.发送邮件
		 */
		Transport.send(msg);
	}
}

第三步:关于附件的文件名称中文编码解释:

part2.setFileName("windows.txt");

对这行代码进行处理:

part2.setFileName(MimeUtility.encodingTest("windows快捷键.txt"));


关于两个jar包的下载,可以在我的资源中进行下载。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值