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 ...
随机推荐
- SpringBoot配置devtools实现热部署
spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用. devtool ...
- 其它综合-CentOS7 忘记root密码
CentOS7 忘记root密码 长时间不用的 CentOS 机器再次开机的时候忽然忘记了密码,总不能就重装一台吧,还有好多服务在机器上,于是决定重置root的密码. 如果是已经开启的机器,需要进行关 ...
- python之路4-文件操作
对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 f = open('lyrics','r',encoding='utf-8') read_line = f.r ...
- python抓取NBA现役球员基本信息数据并进行分析
链接:http://china.nba.com/playerindex/ 所需获取JSON数据页面链接:http://china.nba.com/static/data/league/playerli ...
- [模板] 次短路 | bzoj1726-[Usaco2006Nov]Roadblocks第二短路
简介 所谓次短路, 顾名思义, 就是第二短路. :P 1到n的次短路长度必然产生于:1到x的最短路 + edge(x,y) + y到n的最短路 简单证明一下: 设 \(dis(i,j)\) 表示 \( ...
- [BZOJ 2285] [SDOI 2011] 保密
Description 传送门 Solution 这道题的最大难点在于读懂题意(雾 分数规划求出 \(n\) 到 \(1\cdots n_1\) 每个点的最小 \(\sum\frac{t_i}{s_i ...
- intellij 操作
默认快捷键 ctrl+alt+l 格式化代码 alt+insert代码自动生成 代码生成 编辑框右键>generator>选择
- rsync实时同步服务部署
部署rsync服务 一.需求:把客户端文件同步到服务端指定位置服务端:备份服务器为 172.16.3.164客户端:推送服务器为 172.16.3.94 二.基础知识: rsync 分为服务器端.客户 ...
- Numpy系列(十三)- 文件IO
NumPy提供了多种存取数组内容的文件操作函数.保存数组数据的文件可以是二进制格式或者文本格式.二进制格式的文件又分为NumPy专用的格式化二进制类型和无格式类型. 一,tofile()和fromfi ...
- 金融量化分析【day113】:布林带策略
一.布林带策略简介 1.简介 2.计算公式 3.图形 二.布林带策略代码 import jqdata def initialize(context): set_benchmark('0000 ...