javaMail发邮件的模板代码,如果你用网易邮箱的账号发送邮件失败的话,可以看看

原创 2015年11月29日 15:14:19

刚开始用的邮箱账号是在网易163刚注册的号码,结果总是失败,以为是自己的代码哪里有问题,可是和别人的代码对照检查了一遍,也没找到问题,十分纠结,突然想我使用的smtp发送的邮件,我查看了网易邮箱的设置有一个POP3/SMTP/IMAP选项:


点击后:



看到这个之后顿时感觉无语。。默认竟然是关闭STMP服务!!!!

所以换了一个公司的邮箱,腾讯的邮箱发送没问题,但是接收可能存在问题,但应该不是代码的问题。




package cn.Lionel.javamail;

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

import javax.mail.Authenticator;
import javax.mail.Message.RecipientType;
import javax.mail.PasswordAuthentication;
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;

import org.junit.Test;

public class Demo1 {

	/**
	 * 不带附件的普通邮件
	 * 
	 * @throws Exception
	 */
	@Test
	public void test1() throws Exception
	{
		Properties props = new Properties() ;
		props.setProperty("mail.host", "smtp.qq.com") ;
		props.setProperty("mail.smtp.auth", "true") ;
		
		Authenticator authenticator = new Authenticator(){
			@Override
			protected PasswordAuthentication getPasswordAuthentication() {
				//lzy_lionel:对应你自己的用户名,后面没有@.xxx  ;	password 对应你自己的邮箱密码
				return new PasswordAuthentication("from", "password") ;
				
			}
		};
		Session session = Session.getInstance(props, authenticator) ;
		
		MimeMessage msg = new MimeMessage(session) ;
		msg.setFrom(new InternetAddress("from@qq.com"));
		
		//发送给:
		msg.setRecipients(RecipientType.TO,"to1@163.com") ;
		//抄送给:
		msg.setRecipients(RecipientType.CC,"to2@vip.qq.com") ;
		//暗送给:
		msg.setRecipients(RecipientType.BCC,"to3@126.com") ;
		//设置主题:
		msg.setSubject("这是一封测试邮件!");
		//设置内容:
		msg.setContent("你好,收到请回复!", "text/html;charset=utf-8") ;
		
		Transport.send(msg);
	}
	
	/**
	 * 发送带附件的邮件!
	 * @throws Exception
	 */
	@Test
	public void test2() throws Exception
	{
		Properties props = new Properties() ;
		props.setProperty("mail.host", "smtp.qq.com") ;
		props.setProperty("mail.smtp.auth", "true") ;
		
		Authenticator authenticator = new Authenticator(){
			@Override
			protected PasswordAuthentication getPasswordAuthentication() {
				
				return new PasswordAuthentication("from", "password") ;
				
			}
		};
		Session session = Session.getInstance(props, authenticator) ;
		
		MimeMessage msg = new MimeMessage(session) ;
		msg.setFrom(new InternetAddress("form@qq.com"));
		
		msg.setRecipients(RecipientType.TO,"to@163.com") ;
		
		msg.setSubject("这是一封测试邮件!");
		
		MimeMultipart list = new MimeMultipart() ;
		
		
		
		MimeBodyPart part1 = new MimeBodyPart() ;
		part1.setContent("你好,收到请回复!", "text/html;charset=utf-8") ;
		list.addBodyPart(part1);
		MimeBodyPart part2 = new MimeBodyPart();
		//下面的路径应该对应着是你自己文件所在的路径
		part2.attachFile(new File("C:\\Users\\Public\\Pictures\\Sample Pictures\\1.jpg")) ;
		//MimeUtility.encodeText()防止文字乱码
		part2.setFileName(MimeUtility.encodeText("美女.jpg"));
		list.addBodyPart(part2);

		msg.setContent(list);
		Transport.send(msg);
	}
	
}


大功告成!


附上一个对javaMail的入门地址:http://blog.csdn.net/zapldy/article/details/3971579

附上所需javaMail的jar资源: http://download.csdn.net/detail/lionel_d/9309583

和JavaMail的文档资源:http://download.csdn.net/detail/lionel_d/9309509

水平有限,代码若有问题还望指出!






相关文章推荐

纯Java实现网易邮箱发送邮件

纯Java实现网易邮箱发送邮件 基于Java开发的邮件发送程序。因为使用的是网易的smtp服务器,所以发件人邮箱要求网页邮箱。博主亲测126邮箱和163邮箱有效,yeah邮箱没有测试。...
  • xxx_qz
  • xxx_qz
  • 2017年02月23日 16:54
  • 343

网易企业邮箱pop和smtp 设置 java实现发邮件设置

网易企业邮箱pop和smtp    网易免费企业邮箱 pop:pop.ym.163.com smtp:smtp.ym.163.com 网易收费企业邮箱 pop...
  • howlaa
  • howlaa
  • 2013年04月22日 11:21
  • 4897

常见邮件发送失败原因分析以及解决方法

本文来自:http://www.maikongjian.com/style/info/shownews2.asp?id=439 一.发到 sina.com 的邮件会被退回  我发到...
  • mal327
  • mal327
  • 2012年03月05日 11:09
  • 112925

java mail(发送邮件--163邮箱)

Java代码   package com.util.mail;      /**    * 发送邮件需要使用的基本信息    */   import java.util.Pro...

使用JavaMail通过QQ/126服务器服务发送邮件

使用QQ/126邮箱发送邮件服务需要登录邮箱进行设置后采用可以使用,以下时配置的步骤并且附上过程中遇到的问题以作备份: 1. 配置QQ邮箱发送邮件     a).  登录用来发送邮件的邮箱,然后点击"...

JavaMail实现简单邮箱验证——163邮箱

最近的项目中遇到了这个问题,之前也并没有使用过JavaMail来实现邮箱验证,今天就来试一试。 需求: 当用户注册的时候,注册成功,向用户邮箱发送一个激活邮件,用户激活之后修改数据库中的状...

使用JavaMail进行简单SMTP邮件发送测试,从网易邮箱发送到QQ邮箱

本文使用的JavaMail版本为1.5.2 import java.util.Properties; import javax.mail.Authenticator; import javax.mai...
  • krave
  • krave
  • 2014年12月03日 00:28
  • 3562

简单的javamail之163邮件

代码来自网络:准备工作: 1:开通一个163账号 注意需要在163中设置(设置-》邮件设置-》客户端授权密码,注意这个密码才是下面中需要使用的密码,设置POP3/SMTP/IMAP。) 2:ja...
  • faicm
  • faicm
  • 2015年06月23日 11:02
  • 4352

java开发微信支付(刷卡支付)

本人从微信官网下得 SDK  路径: https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=11_1 下载解压得到 得到上...

纯Java实现网易邮箱发送邮件

纯Java实现网易邮箱发送邮件 基于Java开发的邮件发送程序。因为使用的是网易的smtp服务器,所以发件人邮箱要求网页邮箱。博主亲测126邮箱和163邮箱有效,yeah邮箱没有测试。...
  • xxx_qz
  • xxx_qz
  • 2017年02月23日 16:54
  • 343
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:javaMail发邮件的模板代码,如果你用网易邮箱的账号发送邮件失败的话,可以看看
举报原因:
原因补充:

(最多只允许输入30个字)