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

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






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

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

java mail实现Email的发送,完整代码

1、对应用程序配置邮件会话javax.mail.Session保存邮件系统的配置属性和提供用户验证的信息,发送email首先要获取session对象。(1)Session.getInstance(ja...
  • karem
  • karem
  • 2009年10月09日 15:31
  • 62601

基于JavaMail的Java邮件发送:简单邮件发送

本文链接: http://blog.csdn.net/xietansheng/article/details/51673073电子邮件的应用非常广泛,例如在某网站注册了一个账户,自动发送一封欢迎邮件,...
  • xietansheng
  • xietansheng
  • 2016年06月14日 21:56
  • 97613

JAVA发送邮件最全示例

发送邮件是我们在程序开发中很常见的功能,比如注册通知、找回密码等,在网上也有很多关于JAVA发送邮件的示例,但多数都是只介绍了其中的一部分,今天为大家提供一些JAVA发送各种形式邮件的示例,供大家学习...
  • jianggujin
  • jianggujin
  • 2016年04月26日 19:07
  • 4523

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

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

使用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
  • 3911

使用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
  • 3911

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

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

Java Web(十三) 使用javamail进行发送邮件,(使用QQ,163,新浪邮箱服务器)

加油加油。                     --WH   一、发送邮件的原理     在了解其原理之前,先要知道两个协议,SMTP和POP3       SMTP:Simple Ma...
  • xiaohai1232
  • xiaohai1232
  • 2017年03月10日 23:28
  • 1563

flask 及 python如何发163邮件 其他问题

发邮件,先设置好发送方 我选择的是163邮箱,在设置中开启SMTP服务,下面会有温馨提示:请使用授权码登录第三方邮件客户端, 其中163的授权码是绑定手机时自己设置的,qq邮箱是通过发短信获取的,qq...
  • yuchenwuhen
  • yuchenwuhen
  • 2016年04月19日 19:15
  • 1880
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:javaMail发邮件的模板代码,如果你用网易邮箱的账号发送邮件失败的话,可以看看
举报原因:
原因补充:

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