1、获取表中最后一条数据

  1. public static String demo() throws SQLException {
  2. String sql = "select * FROM baoxiu ORDER BY id DESC LIMIT 0,1;";
  3. PreparedStatement ptmt = conn.prepareStatement(sql);
  4. ResultSet rs = ptmt.executeQuery();
  5. String str=null;
  6. if(rs.next()) {
  7. str= rs.getString("bt");
  8. }
  9. return str;
  10. }

2、使用模糊查询,获取符合条件的所有数据

  1. public static List<DuibiModel> getBaoX(String bt) throws SQLException {
  2. String sql = "select bt,`user`.cardid,phone FROM baoxiu,`user` WHERE baoxiu.cardid=`user`.cardid AND bt LIKE '%"+bt+"%'";
  3. PreparedStatement ptmt = conn.prepareStatement(sql);
  4. ResultSet rs = ptmt.executeQuery();
  5. List<DuibiModel> list = new ArrayList<>() ;
  6. while(rs.next()) {
  7. DuibiModel duibi=new DuibiModel();
  8. duibi.setBt(rs.getString("bt"));
  9. duibi.setCardid(rs.getString("cardid"));
  10. duibi.setPhone(rs.getString("phone"));
  11. list.add(duibi);
  12. }
  13. return list;
  14. }

3、Java 发送邮件

  1. import javax.mail.Authenticator;
  2. import javax.mail.PasswordAuthentication;
  3.  
  4. public class Auth extends Authenticator {
  5.  
  6. private String username = "";
  7. private String password = "";
  8.  
  9. public Auth(String username, String password) {
  10. this.username = username;
  11. this.password = password;
  12. }
  13. public PasswordAuthentication getPasswordAuthentication() {
  14. return new PasswordAuthentication(username, password);
  15. }
  16. }
  1. import java.util.Properties;
  2. import javax.mail.Message;
  3. import javax.mail.Session;
  4. import javax.mail.Transport;
  5. import javax.mail.internet.InternetAddress;
  6. import javax.mail.internet.MimeMessage;
  7.  
  8. public class SendMail {
  9.  
  10. private Properties props; //系统属性
  11. private Session mailSession; //邮件会话对象
  12. private MimeMessage mimeMsg; //MIME邮件对象
  13.  
  14. public SendMail(String SMTPHost, String Port, String MailUsername, String MailPassword) {
  15. Auth au = new Auth(MailUsername, MailPassword);
  16. //设置系统属性
  17. props=java.lang.System.getProperties(); //获得系统属性对象
  18. props.put("mail.smtp.host", SMTPHost); //设置SMTP主机
  19. props.put("mail.smtp.port", Port); //设置服务端口号
  20. props.put("mail.smtp.auth", "true"); //同时通过验证
  21. //获得邮件会话对象
  22. mailSession = Session.getInstance(props, au);
  23. }
  24.  
  25. public boolean sendingMimeMail(String MailFrom, String MailTo,
  26. String MailCopyTo, String MailBCopyTo, String MailSubject,
  27. String MailBody) {
  28. try {
  29. //创建MIME邮件对象
  30. mimeMsg=new MimeMessage(mailSession);
  31. //设置发信人
  32. mimeMsg.setFrom(new InternetAddress(MailFrom));
  33. //设置收信人
  34. if(MailTo!=null){
  35. mimeMsg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(MailTo));
  36. }
  37. //设置抄送人
  38. if(MailCopyTo!=null){
  39. mimeMsg.setRecipients(javax.mail.Message.RecipientType.CC,InternetAddress.parse(MailCopyTo));
  40. }
  41. //设置暗送人
  42. if(MailBCopyTo!=null){
  43. mimeMsg.setRecipients(javax.mail.Message.RecipientType.BCC,InternetAddress.parse(MailBCopyTo));
  44. }
  45. //设置邮件主题
  46. mimeMsg.setSubject(MailSubject,"utf-8");
  47. //设置邮件内容,将邮件body部分转化为HTML格式
  48. mimeMsg.setContent(MailBody,"text/html;charset=utf-8");
  49. //发送邮件
  50. Transport.send(mimeMsg);
  51. return true;
  52. } catch (Exception e) {
  53. e.printStackTrace();
  54. return false;
  55. }
  56. }
  57. }
  1. public static boolean email(String email,String str) {
  2. String SMTPHost="smtp.qq.com";
  3. String Port="25";
  4. String MailUsername="gkh35@foxmail.com"; //直接用我的邮件进行发送测试
  5. String MailPassword="wggddlvcrqfubhde"; //密码请勿修改
  6. SendMail sendMail=new SendMail(SMTPHost,Port,MailUsername,MailPassword);
  7. String MailFrom="gkh35@foxmail.com"; //发件人
  8. String MailTo=email; //收件人
  9. String MailCopyTo=null; //抄送人
  10. String MailBCopyTo=null; //暗送人
  11. String MailSubject="发现类似商品"; //邮件主题
  12. String MailBody=str; //邮件内容
  13. //发送邮件
  14. boolean isSend=sendMail.sendingMimeMail(MailFrom, MailTo, MailCopyTo, MailBCopyTo, MailSubject, MailBody);
  15. return isSend;
  16. }

4、main方法

  1. public static void main(String[] args) throws SQLException {
  2. boolean flag = false;
  3. String str=demo();
  4. for(DuibiModel duibiModel : getBaoX(str)) {
  5. System.out.println("名称为:"+duibiModel.getBt()+","+"身份证号:"+duibiModel.getCardid()+","+"电话号码为:"+duibiModel.getPhone());
  6. flag=email("gkh8299@gmail.com", duibiModel.getBt());
  7. }
  8. if(flag) {
  9. System.out.println("邮件发送成功");
  10. }else {
  11. System.out.println("邮件发送失败");
  12. }
  13. }

java结合email实现自动推送的更多相关文章

  1. 极光推送经验之谈-Java后台服务器实现极光推送的两种实现方式

    原创作品,可以转载,但是请标注出处地址http://www.cnblogs.com/V1haoge/p/6439313.html Java后台实现极光推送有两种方式,一种是使用极光推送官方提供的推送请 ...

  2. java后台服务器实现极光推送

    一.添加极光推送所需要的jar包,项目使用的maven,所以只需要在pom文件里添加jar包依赖 <dependency> <groupId>cn.jpush.api</ ...

  3. 百度自动推送js

    <!DOCTYPE html> <!-- saved from url=(0014)about:internet --> <html> <head> & ...

  4. java集成jpush实现客户端推送

    代码地址如下:http://www.demodashi.com/demo/13700.html 前言 java 集成jpush 实现客户端推送 一.准备工作 开发环境: jdk1.6 Eclipse ...

  5. SEO教程:快速增加360搜索引擎收录,360自动推送批量推送版

    上次改编了一下百度的JS推送代码,实现了批量推送 传送门>>>百度链接提交-js代码推送批量推送版 这次我们来研究360js自动推送代码. <script> (funct ...

  6. 基于Tomcat7、Java、WebSocket的服务器推送聊天室

    http://blog.csdn.net/leecho571/article/details/9707497 http://blog.fens.me/java-websocket-intro/ jav ...

  7. Tomcat学习总结(4)——基于Tomcat7、Java、WebSocket的服务器推送聊天室

    前言           HTML5 WebSocket实现了服务器与浏览器的双向通讯,双向通讯使服务器消息推送开发更加简单,最常见的就是即时通讯和对信息实时性要求比较高的应用.以前的服务器消息推送大 ...

  8. JAVA使用百度链接实时推送API提交链接

    官网地址:http://data.zz.baidu.com/ 百度推广API的token获取 http://data.zz.baidu.com/site/index 填写完之后会进行验证, 验证完之后 ...

  9. JAVA web 使用有盟推送总结

    仔细阅读文档,下边的都是废话. 为了省事,iOS和Android 提供了所有了参数,需要那个了修改传参. //ios actionURL为自定义参数 $.ajax({ type : "POS ...

随机推荐

  1. java的图形化界面 文本区JTextArea的程序例子

    package java1;     //使用时这个改成你的包名即可//文本区 JTextArea import javax.swing.*;import java.awt.*;import java ...

  2. AJ学IOS 之小知识iOS启动动画_Launch Screen的运用

    AJ 分享,必须精品 看下效果吧 例如新浪微博的软件开启时候 就是这个 用Launch image实现 这个不难,就是在Images.xcassets 增加一个LaunchImage文件(右键 new ...

  3. AJ学IOS(34)UI之Quartz2D画画板的实现

    AJ分享,必须精品 效果: 实现过程: 首先用storyboard搭建界面,没有什么好说的. 然后就是注意的功能了,这里用了触摸事件来搭配Quartz2D的路径来画画. 思路就是把路径放到数组中 @p ...

  4. golang slice 源码解读

    本文从源码角度学习 golang slice 的创建.扩容,深拷贝的实现. 内部数据结构 slice 仅有三个字段,其中array 是保存数据的部分,len 字段为长度,cap 为容量. type s ...

  5. jquary 动画j

    1) 点击 id为d1的正方体,将其后所有class为div1的正方体背景色设置为绿色. 代码如下:       <div class="div1" > </di ...

  6. 2020新Asp.NET敏捷快速开发框架7.0.5旗舰版源码asp.net mvc框架,工具类CRM,工作流

    演示地址: http://frame3.diytassel.com  用户名:system  密码:0000    需要的联系QQ:22539134 一.新添加了 1.多语言功能: 2.代码生成器模版 ...

  7. Soul Android app 悬浮view以及帖子中view的联动刷新逆向分析

    Soul app是我司的竞品,对它的语音音乐播放同步联动的逻辑很感兴趣,于是就开启了一波逆向分析. 下面看代码,以及技术分析,直接步入正轨,哈哈. 我们根据https://github.com/xin ...

  8. 负载均衡服务之HAProxy基础配置(二)

    前文我们聊了下haproxy的global配置段中的常用参数的说明以及使用,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/12763245.html:今天我们来 ...

  9. linux下五种查找命令

      我们经常需要在系统中查找一个文件或者命令,那么在Linux系统中如何快速定位和精确查找它呢?下面总结了五个基础命令·分别是which.whereis.type.locate.find. 一 whi ...

  10. Pytorch手写线性回归

    pytorch手写线性回归 import torch import matplotlib.pyplot as plt from matplotlib.animation import FuncAnim ...