java结合email实现自动推送
1、获取表中最后一条数据
public static String demo() throws SQLException {
String sql = "select * FROM baoxiu ORDER BY id DESC LIMIT 0,1;";
PreparedStatement ptmt = conn.prepareStatement(sql);
ResultSet rs = ptmt.executeQuery();
String str=null;
if(rs.next()) {
str= rs.getString("bt");
}
return str;
}
2、使用模糊查询,获取符合条件的所有数据
public static List<DuibiModel> getBaoX(String bt) throws SQLException {
String sql = "select bt,`user`.cardid,phone FROM baoxiu,`user` WHERE baoxiu.cardid=`user`.cardid AND bt LIKE '%"+bt+"%'";
PreparedStatement ptmt = conn.prepareStatement(sql);
ResultSet rs = ptmt.executeQuery();
List<DuibiModel> list = new ArrayList<>() ;
while(rs.next()) {
DuibiModel duibi=new DuibiModel();
duibi.setBt(rs.getString("bt"));
duibi.setCardid(rs.getString("cardid"));
duibi.setPhone(rs.getString("phone"));
list.add(duibi);
}
return list;
}
3、Java 发送邮件
import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;
public class Auth extends Authenticator {
private String username = "";
private String password = "";
public Auth(String username, String password) {
this.username = username;
this.password = password;
}
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
}
import java.util.Properties;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class SendMail {
private Properties props; //系统属性
private Session mailSession; //邮件会话对象
private MimeMessage mimeMsg; //MIME邮件对象
public SendMail(String SMTPHost, String Port, String MailUsername, String MailPassword) {
Auth au = new Auth(MailUsername, MailPassword);
//设置系统属性
props=java.lang.System.getProperties(); //获得系统属性对象
props.put("mail.smtp.host", SMTPHost); //设置SMTP主机
props.put("mail.smtp.port", Port); //设置服务端口号
props.put("mail.smtp.auth", "true"); //同时通过验证
//获得邮件会话对象
mailSession = Session.getInstance(props, au);
}
public boolean sendingMimeMail(String MailFrom, String MailTo,
String MailCopyTo, String MailBCopyTo, String MailSubject,
String MailBody) {
try {
//创建MIME邮件对象
mimeMsg=new MimeMessage(mailSession);
//设置发信人
mimeMsg.setFrom(new InternetAddress(MailFrom));
//设置收信人
if(MailTo!=null){
mimeMsg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(MailTo));
}
//设置抄送人
if(MailCopyTo!=null){
mimeMsg.setRecipients(javax.mail.Message.RecipientType.CC,InternetAddress.parse(MailCopyTo));
}
//设置暗送人
if(MailBCopyTo!=null){
mimeMsg.setRecipients(javax.mail.Message.RecipientType.BCC,InternetAddress.parse(MailBCopyTo));
}
//设置邮件主题
mimeMsg.setSubject(MailSubject,"utf-8");
//设置邮件内容,将邮件body部分转化为HTML格式
mimeMsg.setContent(MailBody,"text/html;charset=utf-8");
//发送邮件
Transport.send(mimeMsg);
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
}
public static boolean email(String email,String str) {
String SMTPHost="smtp.qq.com";
String Port="25";
String MailUsername="gkh35@foxmail.com"; //直接用我的邮件进行发送测试
String MailPassword="wggddlvcrqfubhde"; //密码请勿修改
SendMail sendMail=new SendMail(SMTPHost,Port,MailUsername,MailPassword);
String MailFrom="gkh35@foxmail.com"; //发件人
String MailTo=email; //收件人
String MailCopyTo=null; //抄送人
String MailBCopyTo=null; //暗送人
String MailSubject="发现类似商品"; //邮件主题
String MailBody=str; //邮件内容
//发送邮件
boolean isSend=sendMail.sendingMimeMail(MailFrom, MailTo, MailCopyTo, MailBCopyTo, MailSubject, MailBody);
return isSend;
}
4、main方法
public static void main(String[] args) throws SQLException {
boolean flag = false;
String str=demo();
for(DuibiModel duibiModel : getBaoX(str)) {
System.out.println("名称为:"+duibiModel.getBt()+","+"身份证号:"+duibiModel.getCardid()+","+"电话号码为:"+duibiModel.getPhone());
flag=email("gkh8299@gmail.com", duibiModel.getBt());
}
if(flag) {
System.out.println("邮件发送成功");
}else {
System.out.println("邮件发送失败");
}
}
java结合email实现自动推送的更多相关文章
- 极光推送经验之谈-Java后台服务器实现极光推送的两种实现方式
原创作品,可以转载,但是请标注出处地址http://www.cnblogs.com/V1haoge/p/6439313.html Java后台实现极光推送有两种方式,一种是使用极光推送官方提供的推送请 ...
- java后台服务器实现极光推送
一.添加极光推送所需要的jar包,项目使用的maven,所以只需要在pom文件里添加jar包依赖 <dependency> <groupId>cn.jpush.api</ ...
- 百度自动推送js
<!DOCTYPE html> <!-- saved from url=(0014)about:internet --> <html> <head> & ...
- java集成jpush实现客户端推送
代码地址如下:http://www.demodashi.com/demo/13700.html 前言 java 集成jpush 实现客户端推送 一.准备工作 开发环境: jdk1.6 Eclipse ...
- SEO教程:快速增加360搜索引擎收录,360自动推送批量推送版
上次改编了一下百度的JS推送代码,实现了批量推送 传送门>>>百度链接提交-js代码推送批量推送版 这次我们来研究360js自动推送代码. <script> (funct ...
- 基于Tomcat7、Java、WebSocket的服务器推送聊天室
http://blog.csdn.net/leecho571/article/details/9707497 http://blog.fens.me/java-websocket-intro/ jav ...
- Tomcat学习总结(4)——基于Tomcat7、Java、WebSocket的服务器推送聊天室
前言 HTML5 WebSocket实现了服务器与浏览器的双向通讯,双向通讯使服务器消息推送开发更加简单,最常见的就是即时通讯和对信息实时性要求比较高的应用.以前的服务器消息推送大 ...
- JAVA使用百度链接实时推送API提交链接
官网地址:http://data.zz.baidu.com/ 百度推广API的token获取 http://data.zz.baidu.com/site/index 填写完之后会进行验证, 验证完之后 ...
- JAVA web 使用有盟推送总结
仔细阅读文档,下边的都是废话. 为了省事,iOS和Android 提供了所有了参数,需要那个了修改传参. //ios actionURL为自定义参数 $.ajax({ type : "POS ...
随机推荐
- 怎么搭建python环境?很简单,就几步的事
现在学习python的人越来越多了,而学习python必备的就是搭建python环境,那么,到底怎么搭建python环境呢? 首先,你需要有安装包,这个去官网下载就可以了,如果不会的话,可以看文章底部 ...
- Docker-Bridge Network 01 容器间通信
本小节介绍bridge network模式下,单机上的容器网络拓扑及通信. 1.前言 对于单机上的容器,Docker提供了bridge.host.none三种网络.我们首先介绍经典的bridge模式. ...
- 新时代前端必备神器 Snapjs之弹动效果
有人说不会 SVG 的前端开发者不叫开发者,而叫爱好者.前端不光是 Angularjs 了,这时候再不学 SVG 就晚了!(如果你只会 jQuery 就当我没说...)这里我就给大家分享一个前几天在别 ...
- commonJS、AMD和CMD之间的区别
JS中的模块规范(CommonJS,AMD,CMD),如果你听过js模块化这个东西,那么你就应该听过或CommonJS或AMD甚至是CMD这些规范咯,我也听过,但之前也真的是听听而已. 现在就看看吧, ...
- Python中关于第三方库的补充
Python语言的强大之处在于它的开源.正是因为它的开源,产生了成百上千的第三方库,涵盖了计算机的几乎所有的方向.第三方库的安装也并不是特别的复杂,通过在cmd中使用pip命令可以安装几乎所有的库,但 ...
- 前端学习笔记-JavaScript
js引入方式: 1.嵌入js的方式:直接在页内的script标签内书写js功能代码. <script type="text/javascript">alert('hel ...
- System类的两个静态方法currentTimeMillis 和 arraycopy
package com.yhqtv.demo02.ThreadPool; import java.util.Arrays; public class Test { public static void ...
- tensorflow1.0 构建神经网络做图片分类
import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data mnist = input_dat ...
- Win10桌面美化
捯饬了几个小时终于捯饬好了,没什么特效,就是看起来干净了许多. 用到的小软件: 链接:https://pan.baidu.com/s/1_PSTn0JZ22ZGiMDOdvdWEw提取码:329c 1 ...
- 上传文件的input问题以及FormData特性
1.input中除了type="file"还要加上name="file",否则$_FILES为空,input的name值就是为了区分每一个input的 2.va ...