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 ...
随机推荐
- java的图形化界面 文本区JTextArea的程序例子
package java1; //使用时这个改成你的包名即可//文本区 JTextArea import javax.swing.*;import java.awt.*;import java ...
- AJ学IOS 之小知识iOS启动动画_Launch Screen的运用
AJ 分享,必须精品 看下效果吧 例如新浪微博的软件开启时候 就是这个 用Launch image实现 这个不难,就是在Images.xcassets 增加一个LaunchImage文件(右键 new ...
- AJ学IOS(34)UI之Quartz2D画画板的实现
AJ分享,必须精品 效果: 实现过程: 首先用storyboard搭建界面,没有什么好说的. 然后就是注意的功能了,这里用了触摸事件来搭配Quartz2D的路径来画画. 思路就是把路径放到数组中 @p ...
- golang slice 源码解读
本文从源码角度学习 golang slice 的创建.扩容,深拷贝的实现. 内部数据结构 slice 仅有三个字段,其中array 是保存数据的部分,len 字段为长度,cap 为容量. type s ...
- jquary 动画j
1) 点击 id为d1的正方体,将其后所有class为div1的正方体背景色设置为绿色. 代码如下: <div class="div1" > </di ...
- 2020新Asp.NET敏捷快速开发框架7.0.5旗舰版源码asp.net mvc框架,工具类CRM,工作流
演示地址: http://frame3.diytassel.com 用户名:system 密码:0000 需要的联系QQ:22539134 一.新添加了 1.多语言功能: 2.代码生成器模版 ...
- Soul Android app 悬浮view以及帖子中view的联动刷新逆向分析
Soul app是我司的竞品,对它的语音音乐播放同步联动的逻辑很感兴趣,于是就开启了一波逆向分析. 下面看代码,以及技术分析,直接步入正轨,哈哈. 我们根据https://github.com/xin ...
- 负载均衡服务之HAProxy基础配置(二)
前文我们聊了下haproxy的global配置段中的常用参数的说明以及使用,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/12763245.html:今天我们来 ...
- linux下五种查找命令
我们经常需要在系统中查找一个文件或者命令,那么在Linux系统中如何快速定位和精确查找它呢?下面总结了五个基础命令·分别是which.whereis.type.locate.find. 一 whi ...
- Pytorch手写线性回归
pytorch手写线性回归 import torch import matplotlib.pyplot as plt from matplotlib.animation import FuncAnim ...