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 ...
随机推荐
- Reachability from the Capital CodeForces - 999E (强连通)
There are nn cities and mm roads in Berland. Each road connects a pair of cities. The roads in Berla ...
- js字符串轉數組,數組轉字符串
字符串轉數組:split(',') 數組轉字符串:join(‘,’) https://www.cnblogs.com/woodk/p/5714329.html
- react性能优化
前面的话 本文将详细介绍react性能优化 避免重复渲染 当一个组件的props或者state改变时,React通过比较新返回的元素和之前渲染的元素来决定是否有必要更新实际的DOM.当他们不相等时,R ...
- Djangon的坑
<a href="/del_student/?pk={{ students.pk }}"></a> 在django中当你写入这样的语句是,pk={{ stu ...
- 【BZOJ5502】[GXOI/GZOI2019]与或和(单调栈)
[BZOJ5502][GXOI/GZOI2019]与或和(单调栈) 题面 BZOJ 洛谷 题解 看到位运算就直接拆位,于是问题变成了求有多少个全\(0\)子矩阵和有多少个全\(1\)子矩阵. 这两个操 ...
- 深入理解ES6箭头函数中的this
简要介绍:箭头函数中的this,指向与一般function定义的函数不同,比较容易绕晕,箭头函数this的定义:箭头函数中的this是在定义函数的时候绑定,而不是在执行函数的时候绑定. 1.何为定义时 ...
- docker的基础命令
详细命令参考http://www.runoob.com/docker/docker-command-manual.html
- Linux记录-grafana opentsdb安装
wget https://dl.grafana.com/oss/release/grafana-6.1.4-1.x86_64.rpm sudo yum localinstall grafana-6.1 ...
- python之路(2)集合(set)和字符串格式化
目录 集合(set) 字符串的格式化(%和format) 集合(set) {‘a’,'b','c','d','e'} 定义:有不同元素组成的集合,集合的元素为不可变类型(数字,字符串,元组),集合是一 ...
- Redis学习笔记(三)使用Lua脚本实现分布式锁
Redis在2.6推出了脚本功能,允许开发者使用Lua语言编写脚本传到Redis中执行. 使用Lua脚本的好处如下: 1.减少网络开销:本来5次网络请求的操作,可以用一个请求完成,原先5次请求的逻辑放 ...