javaMail的使用以及trying to connect to host "1xxx@163.com", port 25, isSSL false异常
最近项目用到邮件系统,开始了解javaMail。。。话不多说先上代码:
pom依赖:
<!-- 邮件 https://mvnrepository.com/artifact/javax.mail/mail -->
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.5.0-b01</version>
</dependency>
工具类:
import java.util.Date;
import java.util.Properties;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class MailUtils {
//发件人地址
private static String senderAddress = "1234567891@163.com";
//收件人地址
private static String recipientAddress = "123456789@qq.com";
//发件人账户
public static String senderAccount = "1234567891@163.com";
//发件人授权码
public static String auth = "xxxxxxx";
//邮件主题
public static String subject = "xxxxxx通知";
//邮件正文
public static String content = "您有一则xxxxx!";
public static void main(String [] args) throws MessagingException {
//1.连接邮件服务器的配置参数
Properties properties = new Properties();
//设置用户认证方式
properties.setProperty("mail.smtp.auth", "true");
//设置传输协议
properties.setProperty("mail.transport.protocol", "smtp");
//设置发件人的SMTP服务器地址
properties.setProperty("mail.smtp.host", "smtp.163.com");
//properties.setProperty("mail.smtp.port", "465");
//2.创建定义整个应用程序所需的环境信息的Session对象
Session session = Session.getInstance(properties);
session.setDebug(true);
//3.创建邮件的实例对象
MimeMessage msg = getMimeMessage(session);
//4.根据session对象获取邮件传输对象
Transport transport = session.getTransport("smtp");
transport.connect("smtp.163.com", senderAccount, auth);
//发送邮件,并发送到所有收件人地址,message.getAllRecipients()获取到创建又见对象时添加的所有收件人抄送人密送人
transport.sendMessage(msg, msg.getAllRecipients());
//如果只想发送给指定的人,可以如下写法
//transport.sendMessage(msg, new Address[]{new InternetAddress("xxx@qq.com")});
//5.关闭邮件链接
transport.close();
}
/**
* 獲得創建一封郵件的實例對象
* @param session
* @return
* @throws MessagingException
* @throws AddressException
*/
public static MimeMessage getMimeMessage(Session session) throws MessagingException {
//創建郵件的實例對象
MimeMessage msg = new MimeMessage(session);
//设置发件人地址
msg.setFrom(new InternetAddress(senderAddress));
/*
* 设置收件人地址(可以增加多个收件人,抄送人,密送)
* MimeMessage.RecipientType.TO 发送
* MimeMessage.RecipientType.CC 抄送
* MimeMessage.RecipientType.BCC 密送
*/
msg.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(recipientAddress));
//设置邮件主题
msg.setSubject(subject, "UTF-8");
//设置邮件正文
msg.setContent(content, "text/html;charset=UTF-8");
//设置邮件的发送时间默认立即发送
msg.setSentDate(new Date());
return msg;
}
}
需要注意首先发件人邮箱需要设置开启POP3/SMTP/IMAP协议
transport.connect("smtp.163.com", senderAccount, auth);这里的参数注意第三个不是密码
javaMail的使用以及trying to connect to host "1xxx@163.com", port 25, isSSL false异常的更多相关文章
- ssh: connect to host gitlab.alpha.com port 22: Network is unreachable
在这里只说明我遇到的问题和解决方法,可能并不能解决你遇到的问题: git clone git@gitlab.alpha.com:ipcam/ambarella.gitCloning into 'amb ...
- $ ssh -T git@github.com ssh: connect to host ssh.github.com port 22: Connection timed out
在C:/用户/用户名/.ssh中添加几个文件 之前的电脑生成都是四个文件,分别是 id_rsa id_rsa.pub config known_hosts 不知道为什么在另一台电脑上却生成两个文件 ...
- Could not connect to SMTP host: localhost, port: 25;
1.错误描写叙述 DEBUG: setDebug: JavaMail version 1.3.3 DEBUG: getProvider() returning javax.mail.Provider[ ...
- selenium在Eclipse中打开fireFox浏览器是报报错connect to host 127.0.0.1 on port 7055
1.相信很多同学刚接触selenium时,在Eclipse中打开fireFox浏览器是报报错: org.openqa.selenium.firefox.NotConnectedException: U ...
- Selenium2学习-038-firefox、webdriver版本不对称问题解决:org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055
今天有个朋友在群里问,为何脚本运行不通过,其脚本操作步骤简单描述如下: 1.启动火狐浏览器 2.打开百度 3.查询框输入关键字 4.点击按钮[百度一下] 脚本挺简单的,其给出的应用报错信息如下所示: ...
- Error -27780: [GENERAL_MSG_CAT_SSL_ERROR]connect to host "124.202.213.70" failed: [10054] Connection reset by peer [MsgId: MERR-27780]
解决方案一: 备注: 此方案如果请求响应时间太长,勾选"WinInet replay instead of Sockets(Windows only)"将会导致如下错误:
- 解决org.openqa.selenium.WebDriverException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms org.springframework.beans.BeanInstantiation
解决方法为将selenium-server-standalone-2.37.0.jar升级至selenium-server-standalone-2.41.0.jar即可. 下载地址:http://s ...
- WebDriver:org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms
今天尝试最新的webDriver与fireFox搭配: 运行代码时出现如下的问题,但是浏览器却可以打开: org.openqa.selenium.firefox.NotConnectedExcepti ...
- svn :Can't connect to host *.*.*.*': 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
Can't connect to host *.*.*.*': 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败. -------------------------------- ...
随机推荐
- PHP简单的长文章分页教程 附源码
PHP简单的长文章分页教程 附源码.本文将content.txt里的内容分割成3页,这样浏览起来用户体验很好. 根据分页参数ipage,获取对应文章内容 include('page.class.php ...
- 8. springboot logback 日志整合
在resources目录下,新建log/logback-spring.xml文件,内容如下: <?xml version="1.0" encoding="UTF-8 ...
- Laravel--查询构造器 方法 及聚合函数
controller内内容如下 <?php /** * Created by PhpStorm. * User: work * Date: 2018/1/2 * Time: 20:36 */ n ...
- C++_数字时钟软件实现设计
利用C++学习内容,通过windows自带函数实现一个简易的时钟 #include<iostream> #include<windows.h> //延时与清屏头文件 using ...
- RPM包指令总结
一.RPM RPM包安装位置 RPM包默认安装路径 /etc/ 配置文件安装目录 /usr/bin/ 可执行的命令安装目录 /usr/lib/ 程序所使用的函数库保存位置 /usr/share/doc ...
- Javascript 使用 async 声明符和 await 操作符进行异步操作
async function 声明用于定义一个返回 AsyncFunction 对象的异步函数 await 操作符用于等待一个Promise 对象.它只能在异步函数 async function 中 ...
- 39_redux_counter应用_redux版本
一.下载 要想使用redux,首先要下载它 npm install --save redux 二.核心API 1.createStore() 作用:创建包含指定reducer的store对象 编码:i ...
- python 使用多进程打开多个cmd窗口,并在子进程结束之后关闭cmd窗口
额,我想表达的是使用os.system()打开另一个可执行文件,然后等待其结束,关闭cmd窗口 主要是我突发奇想想装逼; 如果只是用multiprocessing库的多进程,然后输出信息的话,根本没法 ...
- JSP 有些类can not be resolved
看了网上的帖子,切换了jdk到低版本,发现还是不能解决问题. 发现出现问题的代码在tomcat下的Lib包中的其中一个包,jasper.jar 我在想是不是tomcat的版本问题,拷贝了其他地方的ja ...
- linux下Vim文本编辑器的常用快捷键
Linux插入命令 a 在光标之后插入字符 A 把光标移动到行首尾进入插入模式 i 在光标之前插入字符 I 把光标移动到行首并进入插入模式 o 在光标下插入新行 O 在光标上插入新行 Linux定位 ...