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 ...
随机推荐
- 软工+C(7): 野生程序员
// 上一篇:最近发展区/脚手架 // 下一篇:提问和回复 怎样做足够好的软件?我们就差一个程序员! 没有什么软件工程的理论的时候,程序员们凭借自己对编程的热爱,凭借着:"这是一个可以自动化 ...
- Python——字符格式化
一.分类:%格式符方式,format方式 二.%格式符 1.%s——字符占位,%d——数字占位(十进制) a = ("%(name)s--%(age)d" % {'name':'x ...
- Python——控件事件
鼠标 键盘 窗口 按钮
- vhdl 数据类型转换 使用IEEE标准库numeric_std 需要进行两次转换 use ieee.numeric_std.all;
use ieee.numeric_std.all;
- Install Air Conditioning HDU - 4756(最小生成树+树形dp)
Install Air Conditioning HDU - 4756 题意是要让n-1间宿舍和发电站相连 也就是连通嘛 最小生成树板子一套 但是还有个限制条件 就是其中有两个宿舍是不能连着的 要求所 ...
- 洛谷P1608路径统计
题目 这个提示一个简单的最短路计数,除了用数组存上最短路的个数的做法以外,还有可以在得出最短路之后,搜索加剪枝的方法来通过该题. 可以反向搜索用A*的方法来通过,但是这个题的去重十分的恶心,需要一些玄 ...
- 洛谷P3369 普通平衡树
刚学平衡树,分别用了Splay和fhq-treap交了一遍. 这是Splay的板子,貌似比较短? Splay #include <iostream> #include <cstdio ...
- deepin安装mysql记录
本文转载自http://www.linuxidc.com/Linux/2016-07/133128.htm sudo apt-get install mysql-server apt-get isnt ...
- CMDB资产管理系统开发【day27】:理解RESTful架构
理解RESTful架构 越来越多的人开始意识到,网站即软件,而且是一种新型的软件. 这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(hig ...
- Jenkins-在windows上安装及其部署
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能.其主要功能:1.持续的软件版本发布/测试项目. ...