java连接163邮箱发送邮件
一:jar包:
下载链接:链接: http://pan.baidu.com/s/1dDhIDLv 密码: ibg5
二:代码
1----------------------------------------------------------------------------------
package com.No008.shop.framework.common.dic.mail.mail163;
import java.util.Properties;
/**
* 主题:简单邮件(不带附件的邮件)发送
* @author 刘军/shell_liu
* 2015-4-12
*/
public class MailSenderInfo { //发送邮件的服务器的IP和端口
private String mailServerHost;
private String mailServerPort="25";
//邮件发送者的地址
private String fromAddress;
//邮件接收者的地址
private String toAddress;
//登陆邮件发送服务器的用户名和密码
private String userName;
private String password;
//是否需要身份验证
private boolean validate=false;
//邮件发送主题
private String subject;
//邮件的文本内容
private String content;
//邮件附件的文件名
private String[] attachFileNames;
/**
* 获得邮件会话属性
*/
public Properties getProperties(){
Properties p=new Properties();
p.put("mail.smtp.host", this.mailServerHost);
p.put("mail.smtp.port", this.mailServerPort);
p.put("mail.smtp.auth", validate?"true":"false");
return p;}
public String getMailServerHost() {
return mailServerHost;
}
public void setMailServerHost(String mailServerHost) {
this.mailServerHost = mailServerHost;
}
public String getMailServerPort() {
return mailServerPort;
}
public void setMailServerPort(String mailServerPort) {
this.mailServerPort = mailServerPort;
}
public String getFromAddress() {
return fromAddress;
}
public void setFromAddress(String fromAddress) {
this.fromAddress = fromAddress;
}
public String getToAddress() {
return toAddress;
}
public void setToAddress(String toAddress) {
this.toAddress = toAddress;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public boolean isValidate() {
return validate;
}
public void setValidate(boolean validate) {
this.validate = validate;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String[] getAttachFileNames() {
return attachFileNames;
}
public void setAttachFileNames(String[] attachFileNames) {
this.attachFileNames = attachFileNames;
} } 2--------------------------------------------------------------------------------------------------------------------------------------- package com.No008.shop.framework.common.dic.mail.mail163; import javax.mail.*;
/**
* 主题:简单邮件(不带附件的邮件)发送
* @author 刘军/shell_liu
* 2015-4-12
*/
public class MyAuthenticator extends Authenticator{ String userName=null;
String password=null; public MyAuthenticator( ) { }
public MyAuthenticator(String userName, String password) {
this.userName = userName;
this.password = password;
} protected PasswordAuthentication getPasswordAuthentication(){
return new PasswordAuthentication(userName, password); }
} 3--------------------------------------------------------------------------------------------------------------------------- package com.No008.shop.framework.common.dic.mail.mail163;
/**
* 主题:简单邮件(不带附件的邮件)发送
* @author 刘军/shell_liu
* 2015-4-12
*/
public class SendMail { public static void main(String[] args) {
SendMail.send_163();
} //163邮箱
public static void send_163() {
//这个类主要是设置邮件
MailSenderInfo mailInfo=new MailSenderInfo();
mailInfo.setMailServerHost("smtp.163.com");
mailInfo.setMailServerPort("25");
mailInfo.setValidate(true);
mailInfo.setUserName("liujun_010402@163.com");//实际发送者
mailInfo.setPassword("密码");//您的邮箱密码
mailInfo.setFromAddress("liujun_010402@163.com");//设置发送人邮箱地址
mailInfo.setToAddress("1136808529@qq.com");
mailInfo.setSubject("test");//设置邮箱标题
mailInfo.setContent("<b>test</b>");//设置邮箱内容
//这个类主要是用来发送邮件
SimpleMailSender sms=new SimpleMailSender();
sms.sendTextMail(mailInfo);//发送文本格式
sms.sendHtmlMail(mailInfo);//发送html格式:如果需要以html格式发送则需要处理好附件上传地址问题 } } 4---------------------------------------------------------------------------------------------------------------------- package com.No008.shop.framework.common.dic.mail.mail163; import java.util.Date;
import java.util.Properties; import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Address;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
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;
/**
* 主题:简单邮件(不带附件的邮件)发送
* @author 刘军/shell_liu
* 2015-4-12
*/
public class SimpleMailSender {
/**
* 以文本格式发送邮件
* @param mailInfo
* 代发送的邮件的信息
*/ public boolean sendTextMail(MailSenderInfo mailInfo){
//判断是否需要身份认证
MyAuthenticator authenticator=null;
Properties pro=mailInfo.getProperties();
if(mailInfo.isValidate()){
//如果需要身份认证;则创建一个密码验证器
authenticator=new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword());
}
//根据邮件会话属性和密码验证器构造一个邮件发送的session
Session sendMailSession=Session.getDefaultInstance(pro, authenticator);
try {
// 根据session 创建一个邮件消息
Message mailMessage=new MimeMessage(sendMailSession);
//创建邮件发送者地址
Address from =new InternetAddress(mailInfo.getFromAddress());
//设置邮件消息的发送者
mailMessage.setFrom(from);
//创建邮件的接受者地址;并设置到邮件消息中
Address to=new InternetAddress(mailInfo.getToAddress());
mailMessage.setRecipient(Message.RecipientType.TO, to);
//设置邮件消息的主题
mailMessage.setSubject(mailInfo.getSubject());
//设置邮件消息发送的时间
mailMessage.setSentDate(new Date());
//设置邮件消息的主要内容
String mailContent =mailInfo.getContent();
mailMessage.setText(mailContent);
//发送邮件
Transport.send(mailMessage);
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
} /***
* 以HTML格式发送邮件
* @param mailInfo
* 待发送的邮件信息
*/
public boolean sendHtmlMail(MailSenderInfo mailInfo){
//判断是否需要身份认证
MyAuthenticator authenticator=null;
Properties pro=mailInfo.getProperties();
//如果需要身份认证;则创建一个密码验证器
if(mailInfo.isValidate()){
authenticator=new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword());
}
//根据邮件会话属性和密码验证器构造一个邮件发送的session
Session sendMailSession=Session.getDefaultInstance(pro, authenticator);
try {
// 根据session 创建一个邮件消息
Message mailMessage=new MimeMessage(sendMailSession);
//创建邮件发送者地址
Address from =new InternetAddress(mailInfo.getFromAddress());
//设置邮件消息的发送者
mailMessage.setFrom(from);
//创建邮件的接受者地址;并设置到邮件消息中
Address to=new InternetAddress(mailInfo.getToAddress());
//Message.RecipientType.TO表示接收者的类型为TO
mailMessage.setRecipient(Message.RecipientType.TO, to);
//设置邮件消息的主题
mailMessage.setSubject(mailInfo.getSubject());
//设置邮件消息发送的时间
mailMessage.setSentDate(new Date());
//设置邮件消息的主要内容 //MiniMultipart 类是一个容器 包含MimeBodyPart类型的对象
Multipart mailPart =new MimeMultipart();
//创建一个包含HTNL内容的MimeBodyPart
BodyPart html=new MimeBodyPart();
//设置HTML内容
html.setContent(mailInfo.getContent(),"text/html;charset=utf-8");
mailPart.addBodyPart(html); //s设置信件的附件(用本地上的文件作为附件)
/**
html=new MimeBodyPart();
FileDataSource fds=new FileDataSource("");
DataHandler dh=new DataHandler(fds);
html.setFileName("");
html.setDataHandler(dh);
mailPart.addBodyPart(html);
**/
//将MiniMultipart对象设置为邮件内容
mailMessage.setContent(mailPart);
mailMessage.saveChanges(); //发送邮件
Transport.send(mailMessage);
return true;
} catch (Exception e) {
e.printStackTrace();
} return false;
} }
java连接163邮箱发送邮件的更多相关文章
- java调用163邮箱发送邮件
1:注册一个163邮箱,http://mail.163.com 调用发送邮件代码,查询smtp.163.com,作为发送邮件的服务器ip,类似的邮箱服务器应该也可以. MailSenderInfo m ...
- Java实现163邮箱发送邮件到QQ邮箱
注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6812973124141711876/ 先创建一个maven的普通项目 添加依赖,附在文档末尾 其中几个注意的地方 ...
- app里使用163邮箱发送邮件,被163认为是垃圾邮件的坑爹经历!_ !
最近有个项目,要发邮件给用户设定的邮箱报警,然后就用了163邮箱,代码是网上借来的^^,如下: package com.smartdoorbell.util; import android.os.As ...
- dedecms织梦自定义表单发送到邮箱-用163邮箱发送邮件
https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&tn=monline_3_dg&wd=dedecms 邮箱&oq=d ...
- python练习-使用163邮箱发送邮件
具体代码如下> #密码等敏感信息已经用****替换 import smtplib,sys from email.mime.text import MIMEText from email.head ...
- CentOS7像外部163邮箱发送邮件
我们在运维过程中,为了随时了解服务器的工作状态,出现问题随时提醒,像个人邮箱发送邮件是必须的,但是刚刚安装好的系统是无法发送邮件的.需要们进行一些配置和程序的安装,我安装完系统后,自带mail12.5 ...
- Linux下用mail 命令给163邮箱发送邮件!
linux上的邮件客户端比较多,找一个平时用的比较多mail命令来试试!! 环境 :centos7: 注意 : 服务器必须得有外网才行,qq邮箱作为在linux上的发送端邮箱,经过测试 163 和qq ...
- JAVA 使用qq邮箱发送邮件
引入一个架包: gradle( "com.sun.mail:javax.mail:1.5.6", ) 代码如下: private static final String QQ_EM ...
- python使用qq邮箱向163邮箱发送邮件、附件
在生成html测试报告后 import smtplib,time from email.mime.text import MIMEText from email.mime.multipart impo ...
随机推荐
- day03(变量,常量,输入输出,注释,基本数据类型,运算符)
一,复习 ''' 1.语言的分类 -- 机器语言:直接编写0,1指令,直接能被硬件执行 -- 汇编语言:编写助记符(与指令的对应关系),找到对应的指令直接交给硬件执行 -- 高级语言:编写人能识别的字 ...
- BugPhobia开发篇章:Beta阶段第X次Scrum Meeting
0x01 :Scrum Meeting基本摘要 Beta阶段第十次Scrum Meeting 敏捷开发起始时间 2015/12/29 00:00 A.M. 敏捷开发终止时间 2016/01/01 23 ...
- 【学习总结】Git学习-参考廖雪峰老师教程-总
公元2018-10-21 实验室台式机 win7 64位 参考教程: 廖雪峰Git教程 其他资料:Git-book 北大一只总结的笔记,最终整理的时候可以参考:Git笔记 评论区看到的另一个人,总结在 ...
- 谈谈java做登录那些事(一 分析)
前言: 最近要给自己的网站模板写一个登陆功能,其他功能已经写了一半了,我觉得可以写个登陆整合一下了. 借鉴博客:https://www.cnblogs.com/moyand/p/9047978.htm ...
- Android——具有边框的Textview
我们可以看见很多类似瀑布流的分类: 通过边框进行选择,那么这个边框是怎么变成的呢? 我们可以通过添加背景图,不过有更加简单的,如下: 我们在drawable文件中编写一个shape, <?xml ...
- Javaweb项目 利用JSP响应浏览器
一.javaweb 数据访问流程? 1.浏览器 http 访问服务器 找到 servlet(HttpServeltDemo.java文件) 2.servle 通过dao 访问数据库 数据库将数据返回 ...
- Intel 11代全新核显出现了!好强 好乱
Intel最近为其10亿级用户的核芯显卡真是操醉了心,一方面进一步公布了第11代核显的架构细节,另一方面升级驱动程序带来了全新的控制中心. 而在对新驱动进行了一番挖掘之后,赫然发现Intel已经将第1 ...
- 关于ESB(企业服务总线)的学习笔记
MQ(消息队列 message queues),它是一种应用程序对应用程序的通信方法.排队指的是应用程序通过队列来通信.队列的使用除去了接收和发送应用程序同时执行的要求. Web Sevice 技术, ...
- Luogu5290 十二省联考2019春节十二响(贪心+启发式合并)
考虑链的做法,显然将两部分各自从大到小排序后逐位取max即可,最后将根计入.猜想树上做法相同,即按上述方式逐个合并子树,最后加入根.用multiset启发式合并即可维护.因为每次合并后较小集合会消失, ...
- Django练习——图书管理系统
Django图书管理系统 创建一个项目 1. django-admin startproject 图书管理 2. cmd 命令终端下创建一个app python manage.py startapp ...