java结合email实现自动推送[通俗易懂]

java结合email实现自动推送[通俗易懂]1、编写方法获取最新标题的最新的标题
2、使用获取额标题进行模糊查询,查询出邮箱地址,标题名称
3、使用email发送邮件

java结合email实现自动推送

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 }

代码100分

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

代码100分 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 }

代码100分 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 }

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/9265.html

(0)
上一篇 2023-02-12
下一篇 2023-02-12

相关推荐

  • mysql8 报错解决

    mysql8 报错解决mysql8导入mysql5.7的sql备份,报错: ERROR 1178 (42000) at line 241: The storage engine for the table doesn&a…

    2023-02-27
    164
  • Python os.path.mkdir: 创建新目录

    Python os.path.mkdir: 创建新目录a href=”https://beian.miit.gov.cn/”苏ICP备2023018380号-1/a Copyright www.python100.com .Some Rights Reserved.

    2023-12-17
    105
  • Python实现网页字体程序

    Python实现网页字体程序在我们日常浏览网页的过程中,字体的大小、颜色、样式等对于我们的视觉感受有着重要的影响。因此,实现网页字体程序,让用户可以自由选择网页字体,是非常有实用性和意义的。本文将详细阐述如何使用Python实现网页字体程序。

    2024-03-23
    77
  • [学习笔记] Oracle基础增删改查用法「终于解决」

    [学习笔记] Oracle基础增删改查用法「终于解决」查询 备份查询数据 插入 插入查询结果 更新 通过查询结果更新 删除 截断表 删除和截断的区别 TRUNCATE 是 DDL 命令,命令执行完就提交,删除的数据不能恢复; DELETE 命令是 DML

    2023-02-03
    155
  • 使用Python编写CGI程序进行Web动态内容生成

    使用Python编写CGI程序进行Web动态内容生成CGI(Common Gateway Interface,通用网关接口)是一套用于Web服务器和应用程序之间传递数据的接口标准,使用CGI可以实现Web动态内容生成。Python是一种快速开发的语言,通过编写Python CGI程序可以轻松实现Web动态内容生成。

    2024-02-19
    87
  • 用Python找到函数最大值的方法

    用Python找到函数最大值的方法在数学上,可以使用导数的方法来求取函数的最大值。对于一个连续可导的函数,当其导数为0时,即其函数变化率为0,那么这个点就是函数的极值点(包括最大值点和最小值点)。因此,我们可以使用导数的方式来求取函数的最大值。

    2024-02-26
    107
  • 利用Python和Matlab逐行读取文件

    利用Python和Matlab逐行读取文件Python中,我们可以使用open()函数来打开文件。默认情况下,它会以只读模式打开文件,并返回一个文件对象。

    2023-12-18
    105
  • Python中ndarray如何转换为list?

    Python中ndarray如何转换为list?在Python中,ndarray是用于存储多维数组的对象。 在机器学习、数据分析等领域中,使用ndarray非常普遍。 然而,有时需要将ndarray转换为列表。 这篇文章将介绍Python中如何将ndarray转换为list。

    2024-04-30
    62

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注