Java 发送邮件

1、注册一个网易邮箱,开通smtp服务,作为发送邮件的邮箱服务器





2、jar包准备commons-email-1.3.3.jar,activation.jar等,源码有提供


3、准备工作

//设置smtp host,QQ邮箱邮件服务器为smtp.qq.com,此处为163 邮箱
	private static final String HostName = "smtp.163.com";
	private static final String toAdd = "emailtest2016@163.com";//接收人邮箱
	private static final String toName = "pengyou";//接收人名字
	private static final String fromName = "研发中心";//发送人名字
	private static final String fromAdd = "nn4594@163.com";//发送人邮箱
	
	//参数是,邮箱服务器的登录用户名,以及密码(测试时写自己的,确保开通了smtp)
	private static final String username = "nn4594@163.com";
	private static final String password = "nn4594";
	//邮件内容编码,防止乱码
	private static String charset="UTF-8";


4、发送简单邮件

private static void sendText() {
	//SimpleEmail email = new SimpleEmail();//创建简单邮件,不可附件、HTML文本等
	//MultiPartEmail  email = new MultiPartEmail();//创建能加附件的邮件,可多个、网络附件亦可
	//HtmlEmail email = new HtmlEmail();//创建能加附件内容为HTML文本的邮件、HTML直接内联图片但必须用setHtmlMsg()传邮件内容
		SimpleEmail emailUtil = new SimpleEmail();
		emailUtil.setCharset(charset);
		//邮箱服务器smtp host,此处采用自己的QQ邮箱作为邮件服务器
		emailUtil.setHostName(HostName);
		try {
			emailUtil.setSmtpPort(465);
			//登录邮件服务器的用户名和密码(保证邮件服务器POP3/SMTP服务开启)
			emailUtil.setAuthenticator(new DefaultAuthenticator(username, password));// 参数是您的真实邮箱和密码
			emailUtil.setFrom(fromAdd, fromName);
			emailUtil.addTo(toAdd, "pengyou");
			emailUtil.addCc("9973341@qq.com");//抄送方
			emailUtil.addBcc("npy@163.com");//秘密抄送方
			emailUtil.setSubject("研发中心密码找回");
			emailUtil.setSSLOnConnect(true);//开启SSL加密
//			emailUtil.setStartTLSEnabled(true);//开启TLS加密
			emailUtil.setSubject("主题1");//主题
			emailUtil.setMsg("本邮件发送仅提供例子,需要您二次开发。" + "pengyou" + ",您的登录密码是:" + "123456asd");
			emailUtil.send();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}



5、发送带附件的图片邮件

private static void sendImage() {
		 //创建邮件附件可多个 
        EmailAttachment attachment = new EmailAttachment();//创建附件
		  attachment.setPath("images/yun.jpg");
		  attachment.setDisposition(EmailAttachment.ATTACHMENT);
		  attachment.setDescription("Picture of John");//附件描述
		  attachment.setName("yun.jpg");//附件名称
		  EmailAttachment attachment2 = new EmailAttachment();//创建附件
		  attachment2.setPath("images/sn.jpg");
		  attachment2.setDisposition(EmailAttachment.ATTACHMENT);
		  attachment2.setDescription("Picture of John");//附件描述
		  attachment2.setName("sn.jpg");//附件名称


		  MultiPartEmail email = new MultiPartEmail();
		  try {
			  email.setHostName(HostName);
			  email.setAuthenticator(new DefaultAuthenticator(username, password));// 参数是您的真实邮箱和密码
			  email.addTo(toAdd, toName);
			  email.setFrom(fromAdd, fromName);
		  email.setSubject("The picture");
		  email.setMsg("这是给你的图片");
		  // add the attachment
		  email.attach(attachment);
		  email.attach(attachment2);
			email.send();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

结果:



6、发送HTML文本邮件

private static void sendHtmlEmail(){
   	  HtmlEmail email = new HtmlEmail();
   	  try {
       	   
       	  email.setHostName(HostName);
		  email.setAuthenticator(new DefaultAuthenticator(username, password));// 参数是您的真实邮箱和密码
       	  email.setHtmlMsg("<html>The apache logo -<a href='https://www.baidu.com'>https://www.baidu.com</a><br><hr> <img src=\"http://b.hiphotos.baidu.com/image/pic/item/500fd9f9d72a6059dc4581122a34349b033bba65.jpg\"></html>");
       	  email.setTextMsg("Your email client does not support HTML messages");
   	      email.addTo(toAdd, toName);
		  email.setFrom(fromAdd, fromName);
	      email.setSubject("The picture");
       	  email.send();
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}

结果:




7、源码地址:http://download.csdn.net/detail/u014520797/9425679


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值