一: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邮箱发送邮件的更多相关文章

  1. java调用163邮箱发送邮件

    1:注册一个163邮箱,http://mail.163.com 调用发送邮件代码,查询smtp.163.com,作为发送邮件的服务器ip,类似的邮箱服务器应该也可以. MailSenderInfo m ...

  2. Java实现163邮箱发送邮件到QQ邮箱

    注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6812973124141711876/ 先创建一个maven的普通项目 添加依赖,附在文档末尾 其中几个注意的地方 ...

  3. app里使用163邮箱发送邮件,被163认为是垃圾邮件的坑爹经历!_ !

    最近有个项目,要发邮件给用户设定的邮箱报警,然后就用了163邮箱,代码是网上借来的^^,如下: package com.smartdoorbell.util; import android.os.As ...

  4. dedecms织梦自定义表单发送到邮箱-用163邮箱发送邮件

    https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&tn=monline_3_dg&wd=dedecms 邮箱&oq=d ...

  5. python练习-使用163邮箱发送邮件

    具体代码如下> #密码等敏感信息已经用****替换 import smtplib,sys from email.mime.text import MIMEText from email.head ...

  6. CentOS7像外部163邮箱发送邮件

    我们在运维过程中,为了随时了解服务器的工作状态,出现问题随时提醒,像个人邮箱发送邮件是必须的,但是刚刚安装好的系统是无法发送邮件的.需要们进行一些配置和程序的安装,我安装完系统后,自带mail12.5 ...

  7. Linux下用mail 命令给163邮箱发送邮件!

    linux上的邮件客户端比较多,找一个平时用的比较多mail命令来试试!! 环境 :centos7: 注意 : 服务器必须得有外网才行,qq邮箱作为在linux上的发送端邮箱,经过测试 163 和qq ...

  8. JAVA 使用qq邮箱发送邮件

    引入一个架包: gradle( "com.sun.mail:javax.mail:1.5.6", ) 代码如下: private static final String QQ_EM ...

  9. python使用qq邮箱向163邮箱发送邮件、附件

    在生成html测试报告后 import smtplib,time from email.mime.text import MIMEText from email.mime.multipart impo ...

随机推荐

  1. Cinder组件

    cinder-api cinder-api 是整个 Cinder 组件的门户,所有 cinder 的请求都首先由 cinder-api 处理. cinder-api 向外界暴露若干 HTTP REST ...

  2. iso data 聚类算法

    isodata算法就是先拟定一个预期类,再选取一些聚类中心,通过不断合并或者分裂聚类,达到分类的目的 关键就是在于,如何分裂,合并 要合并或者分裂 必须要确定一些指标 所以第一步就是要确定 某些指标 ...

  3. 数据标记系列——图像分割 & PolygonRNN++(二)

    实践 1.export PATH=~/anaconda3/bin:$PATH 2.Anaconda3 中创建新环境 Conda create –name=labelme_polyrnn_pp pyth ...

  4. 4.6 并发编程/IO模型

    并发编程/IO模型 背景概念 IO模型概念 IO模型分类 阻塞IO  (blocking IO) 特点: 两个阶段(等待数据和拷贝数据两个阶段)都被block 设置 server.setsockopt ...

  5. docker完整配置nginx+php+mysql

    首先了解一个方法: 使用docker exec进入Docker容器 docker在1.3.X版本之后还提供了一个新的命令exec用于进入容器,这种方式相对更简单一些,下面我们来看一下该命令的使用: s ...

  6. 探索 Python 学习

    Python 是一种敏捷的.动态类型化的.极富表现力的开源编程语言,可以被自由地安装到多种平台上(参阅 参考资料).Python 代码是被解释的.如果您对编辑.构建和执行循环较为熟悉,则 Python ...

  7. Pack

    背包专题 背包吼哇! 基础的背包分为OI01背包,完全背包,多重背包,二维背包,分组背包,树形背包,求方案数等.......... 作为DP的一个基础部分还是有必要写一写的. 01背包: 一个物品能取 ...

  8. jvm学习笔记一(垃圾回收算法)

    一:垃圾回收机制的原因 java中,当没有对象引用指向原先分配给某个对象的内存时候,该内存就成为了垃圾.JVM的一个系统级线程会自动释放该内存块.垃圾回收意味着程序不再需要的对象是"无用信息 ...

  9. 【洛谷P1516】青蛙的约会

    题目大意:给定 \(a,b,c\),求线性同余方程 \(ax+by=c\) 的最小正整数解. 题解:首先判断方程是否有解,若 c 不能整出 a 与 b 的最大公约数,则无解.若有解,则利用扩展欧几里得 ...

  10. 关于vue的域名重定向和404

    //创建路由对象并配置路由规则 let router = new VueRouter({ routes:[ {path:'/',redirect:{name:"index"}}, ...