最近在做一个Java发送邮件的工具类,现在分享一下完整的代码 
首先需要java邮件的包javax.mail-1.5.4.jar 
之前因为链接给错了,很不好意思,现在重新发一次。 
包在这里可以下载http://download.csdn.net/detail/sun2015_07_24/9392090

第一步:邮箱需要开通POP3/SMTP等服务

第二步:设置授权码,代码中所写的密码不是邮箱密码是授权码

 package com.jspxcms.common.util;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.util.Properties; import javax.mail.Address;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage; /**
* 邮件发送工具类
*/
public class SendMailUtil { /**
* 邮件发送的方法
*
* @param to 收件人
* @param subject 主题
* @param content 内容
* @param smtp 协议
* @param host 发送服务器服务器
* @param sendName 邮件发送人
* @param sendPort 邮件发送人端口
* @param userName 邮件发送人名
* @param userPwd 邮件发送人密码 自己测试时用的是授权码不是密码
* @return 成功或失败
*/
public static boolean send(String to, String subject, String content, String smtp, String host,
String sendName, String sendPort, String userName, String userPwd) { // 第一步:创建Session
Properties props = new Properties();
// 指定邮件的传输协议,smtp(Simple Mail Transfer Protocol 简单的邮件传输协议)
props.put("mail.transport.protocol", smtp);
// 指定邮件发送服务器服务器 "smtp.qq.com"
props.put("mail.host", host);
// 指定邮件的发送人(您用来发送邮件的服务器,比如您的163\sina等邮箱)
props.put("mail.from", sendName);
if (true) {
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.socketFactory.fallback", "false");
props.put("mail.smtp.socketFactory.port", sendPort);
}
Session session = Session.getDefaultInstance(props); // 开启调试模式
session.setDebug(true);
try {
// 第二步:获取邮件发送对象
Transport transport = session.getTransport();
// 连接邮件服务器,链接您的163、sina邮箱,用户名(不带@163.com,登录邮箱的邮箱账号,不是邮箱地址)、密码
transport.connect(userName, userPwd);
Address toAddress = new InternetAddress(to); // 第三步:创建邮件消息体
MimeMessage message = new MimeMessage(session);
//设置自定义发件人昵称
String nick="";
try {
nick=javax.mail.internet.MimeUtility.encodeText("我的昵称");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
message.setFrom(new InternetAddress(nick+" <"+sendName+">"));
//设置发信人
// message.setFrom(new InternetAddress(sendName)); // 邮件的主题
message.setSubject(subject);
//收件人
message.addRecipient(Message.RecipientType.TO, toAddress);
/*//抄送人
Address ccAddress = new InternetAddress("first.lady@whitehouse.gov");
message.addRecipient(Message.RecipientType.CC, ccAddress);*/
// 邮件的内容
message.setContent(content, "text/html;charset=utf-8");
// 邮件发送时间
message.setSentDate(new Date()); // 第四步:发送邮件
// 第一个参数:邮件的消息体
// 第二个参数:邮件的接收人,多个接收人用逗号隔开(test1@163.com,test2@sina.com)
transport.sendMessage(message, InternetAddress.parse(to));
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
} public static void main(String[] args) {
// 您要发送给谁,标题,内容
//SendMailUtil.send("*****@qq.com", "标题", "内容", "smtp", "smtp.qq.com", "发送人邮箱", "端口号", "邮箱用户名", "邮箱密码");
SendMailUtil.send("*********@qq.com", "标题", "内容", "smtp", "smtp.163.com",
"181467089**@163.com", "", "181467089**", "**123456");
} }

java 邮件发送工具类【来源网络自己已经实际应用】的更多相关文章

  1. java 邮件发送工具类

    首先需要下载mail.jar文件,我个人通常是使用maven中心库的那个: <dependency> <groupId>javax.mail</groupId> & ...

  2. Java邮件发送工具类

    个人博客 地址:https://www.wenhaofan.com/article/20190507104851 引入Pom依赖 依赖于apchae email包,maven项目可直接加入以下依赖,普 ...

  3. Java 基于mail.jar 和 activation.jar 封装的邮件发送工具类

    准备工作 发送邮件需要获得协议和支持! 开启服务 POP3/SMTP 服务 如何开启 POP3/SMTP 服务:https://www.cnblogs.com/pojo/p/14276637.html ...

  4. 邮件发送工具类 SendMail.java

    package com.util; import org.apache.commons.mail.EmailException; import org.apache.commons.mail.Simp ...

  5. java邮件发送工具

    最近在web项目中,客户端注册时需要通过邮箱验证,服务器就需要向客户端发送邮件,我把发送邮件的细节进行了简易的封装: 在maven中需要导入: <!--Email--> <depen ...

  6. JAVA邮件发送的简单实现

    JAVA MAIL是利用现有的邮件账户发送邮件的工具,比如说,我在网易注册一个邮箱账户,通过JAVA Mail的操控,我可以不亲自登录网易邮箱,让程序自动的使用网易邮箱发送邮件.这一机制被广泛的用在注 ...

  7. 基于JavaMail开发邮件发送器工具类

    基于JavaMail开发邮件发送器工具类 在开发当中肯定会碰到利用Java调用邮件服务器的服务发送邮件的情况,比如账号激活.找回密码等功能.本人之前也碰到多次这样需求,为此特意将功能封装成一个简单易用 ...

  8. HttpTool.java(在java tool util工具类中已存在) 暂保留

    HttpTool.java 该类为java源生态的http 请求工具,不依赖第三方jar包 ,即插即用. package kingtool; import java.io.BufferedReader ...

  9. Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类

    Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类 ============================== ©Copyright 蕃薯耀 20 ...

随机推荐

  1. python2.7.10 VS2015编译方法

    打开 Python-2.7.10\PCbuild目录 然后设置只编译python和pythoncore: 好了,编译试一试. 出现了好几个错误.由于 VS2015 取消了 timezone 的定义,改 ...

  2. web.xml上下文初始化参数

    1.在web.xml文件中配置上下文参数 <!--<context-param>标签声明上下文初始化参数, --> <!-- 上下文初始化的参数可以被应用程序用所有ser ...

  3. codeforces781D Axel and Marston in Bitland

    题目链接:codeforces781D 正解:$bitset$+状压$DP$ 解题报告: 考虑用$f[t][0.1][i][j]$表示从$i$出发走了$2^t$步之后走到了$j$,且第一步是走的$0$ ...

  4. mysql 命令行参数说明

    mysql --help -h : 主机名 -u : 用户名 -p : 密码 -P : 端口,不写默认(3306) -D :指定数据库(一般不指定) -e :查询语句 --column-names : ...

  5. spring mvc:练习:表单验证(javaConfig配置和注解)

    使用Spring表单标签, 表单验证使用 JSR303 的验证注解,hibernate-validators,提供了使用MessageSource和访问静态资源(如CSS,JavaScript,图片) ...

  6. php上传多文件max_file_uploads限制问题

    在PHP程序中,常常会遇到这种问题,上传附件时明明成功上传了很多附件,如图片等,但实际上只存在20个附件,或者直接报错无法上传. 在DEDECMS5.7编辑图集的时候,发现只要超过20张图片保存就会出 ...

  7. day32 Python与金融量化分析(二)

    第一部分:金融与量化投资 股票: 股票是股份公司发给出资人的一种凭证,股票的持有者就是股份公司的股东. 股票的面值与市值 面值表示票面金额 市值表示市场价值 上市/IPO: 企业通过证券交易所公开向社 ...

  8. linux---nginx服务nfs服务nginx反向代理三台web

    一:nginx服务 1.二进制安装nginx包 [root@bogon ~]# systemctl disable firewalld #关闭Firewalls自启动 Removed symlink ...

  9. 部署Jsp网站

    最近在实习,记录一下第一次部署网站的详情. 首先在服务器上安装jdk环境,我安装的是Java1.8版本. yum search java |grep -i JDK //查看Jdk版本 yum inst ...

  10. Upgrade Bash on Ubuntu from 14.04 to 16.04

    过程 1 sudo -S apt-mark hold sudo sudo -S apt-mark hold procps sudo -S apt-mark hold strace 2 sudo do- ...