javaMial实例

通过java代码发邮件

用java发邮件,必须要导入新的包
mail.jar – 发邮件的核心包
activation.jar – 对用户和密码加密.

在mail.jar中有三个核心类:
Javax.mail.Session – 是指与邮件服务器会话。整个项目中只要一个就可以了.
Javax.mail.Message(接口) - 准备发送数据信息。
MimeMessage - 可以设置类型的数据信息。
Transport – 它拥有一个方法可以发送Message。

第一步;导入两个jar包


第二步;发简单的邮件

@Test
	public void sendMail() throws Exception{
		//第一步:声明properties对象放信息
		Properties prop = new Properties();
		//设置连接哪一台服务器
		prop.setProperty("mail.host","smtp.126.com");
		//设置是否验证
		prop.setProperty("mail.smtp.auth", "true");
		//第二步:声明用户名和密码
		Authenticator auth = new Authenticator() {
			//此访求返回用户和密码的对象
			public PasswordAuthentication getPasswordAuthentication() {
				PasswordAuthentication pa = 
						new PasswordAuthentication("name", "password");
				return pa;
			}
		};
		第二步:获取Session对象
		Session session = 
				Session.getDefaultInstance(prop,auth);
		//设置session的调试模式
		session.setDebug(true);
		//第三步:声明信息
		MimeMessage mm1 = 
				new MimeMessage(session);
		
		//第四步:设置发件人email
		Address from = new InternetAddress("xx@126.com");
		mm1.setFrom(from);
		//第五步:设置收件人
		mm1.setRecipient(RecipientType.TO,new InternetAddress("xx@163.com"));
		mm1.setRecipient(RecipientType.CC, new InternetAddress("xxx@qq.com"));
		mm1.setRecipient(RecipientType.BCC, new InternetAddress("xx@163.cn"));
		//第六步:设置主题
		mm1.setSubject("这是用Java发的邮件3");
		mm1.setContent("你好,这是用java发的邮件,3333再试一下", "text/plain;charset=UTF-8");
		
		//第七步:
		Transport.send(mm1);
		
	}


第三步:v发带有超连接的邮件

mm1.setSubject("这是用Java发的邮件sfasdf3");
		mm1.setContent("你好,这是用java发的邮件,<a href='http://www.baidu.com'>百度</a>", "text/html;charset=UTF-8");
		
		//第七步:
		Transport.send(mm1);

第四步:带附件的邮件



public class SendAttechmentDemo {
	@Test
	public void sendFile() throws Exception{
		Properties p = new Properties();
		p.setProperty("mail.host","smtp.126.com");
		p.setProperty("mail.smtp.auth","true");
		Session s = Session.getDefaultInstance(p,new Authenticator() {
			@Override
			public PasswordAuthentication getPasswordAuthentication() {
				return new PasswordAuthentication("name", "password");
			}
		});
		s.setDebug(true);
		
		
		//声明MimeMessage
		MimeMessage msg = new MimeMessage(s);
		msg.setFrom(new InternetAddress("sias_xxaq_08@126.com"));
		msg.setRecipient(RecipientType.TO, new InternetAddress("519224747@qq.com"));
		msg.setSubject("图片的");
		
		//第一步:声明多处理的Part
		MimeMultipart mm = new MimeMultipart();
		
		//第二步:声明
		MimeBodyPart body1 = new MimeBodyPart();
		//第三步:设置符件
		DataSource ds = new FileDataSource(new File("./img/a.jpg"));
		DataHandler dh = new DataHandler(ds);
		body1.setDataHandler(dh);
		//必须要设置名称
		body1.setFileName(MimeUtility.encodeText("美女.jpg"));
		
		
		MimeBodyPart body2 = new MimeBodyPart();
		//第三步:设置符件
		DataSource ds2 = new FileDataSource(new File("./img/b.jpg"));
		DataHandler dh2 = new DataHandler(ds2);
		body2.setDataHandler(dh2);
		//必须要设置名称
		body2.setFileName(MimeUtility.encodeText("美女2.jpg"));
		
		
		MimeBodyPart body3 = new MimeBodyPart();
		//第三步:设置符件
		DataSource ds3 = new FileDataSource(new File("./img/m.mp3"));
		DataHandler dh3 = new DataHandler(ds3);
		body3.setDataHandler(dh3);
		//必须要设置名称
		body3.setFileName(MimeUtility.encodeText("世纪末.mp3"));
		
		//将body1添加到mm
		mm.addBodyPart(body1);
		mm.addBodyPart(body2);
		mm.addBodyPart(body3);
		
		msg.setContent(mm);
		
		//发送
		Transport.send(msg);
		
	}
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值