java結(jié)合email實(shí)現(xiàn)自動(dòng)推送功能
1、獲取表中最后一條數(shù)據(jù)
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、使用模糊查詢,獲取符合條件的所有數(shù)據(jù)
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 發(fā)送郵件
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; //系統(tǒng)屬性 private Session mailSession; //郵件會(huì)話對(duì)象 private MimeMessage mimeMsg; //MIME郵件對(duì)象 public SendMail(String SMTPHost, String Port, String MailUsername, String MailPassword) { Auth au = new Auth(MailUsername, MailPassword); //設(shè)置系統(tǒng)屬性 props=java.lang.System.getProperties(); //獲得系統(tǒng)屬性對(duì)象 props.put("mail.smtp.host", SMTPHost); //設(shè)置SMTP主機(jī) props.put("mail.smtp.port", Port); //設(shè)置服務(wù)端口號(hào) props.put("mail.smtp.auth", "true"); //同時(shí)通過(guò)驗(yàn)證 //獲得郵件會(huì)話對(duì)象 mailSession = Session.getInstance(props, au); } public boolean sendingMimeMail(String MailFrom, String MailTo, String MailCopyTo, String MailBCopyTo, String MailSubject, String MailBody) { try { //創(chuàng)建MIME郵件對(duì)象 mimeMsg=new MimeMessage(mailSession); //設(shè)置發(fā)信人 mimeMsg.setFrom(new InternetAddress(MailFrom)); //設(shè)置收信人 if(MailTo!=null){ mimeMsg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(MailTo)); } //設(shè)置抄送人 if(MailCopyTo!=null){ mimeMsg.setRecipients(javax.mail.Message.RecipientType.CC,InternetAddress.parse(MailCopyTo)); } //設(shè)置暗送人 if(MailBCopyTo!=null){ mimeMsg.setRecipients(javax.mail.Message.RecipientType.BCC,InternetAddress.parse(MailBCopyTo)); } //設(shè)置郵件主題 mimeMsg.setSubject(MailSubject,"utf-8"); //設(shè)置郵件內(nèi)容,將郵件body部分轉(zhuǎn)化為HTML格式 mimeMsg.setContent(MailBody,"text/html;charset=utf-8"); //發(fā)送郵件 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"; //直接用我的郵件進(jìn)行發(fā)送測(cè)試 String MailPassword="wggddlvcrqfubhde"; //密碼請(qǐng)勿修改 SendMail sendMail=new SendMail(SMTPHost,Port,MailUsername,MailPassword); String MailFrom="gkh35@foxmail.com"; //發(fā)件人 String MailTo=email; //收件人 String MailCopyTo=null; //抄送人 String MailBCopyTo=null; //暗送人 String MailSubject="發(fā)現(xiàn)類似商品"; //郵件主題 String MailBody=str; //郵件內(nèi)容 //發(fā)送郵件 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()+","+"身份證號(hào):"+duibiModel.getCardid()+","+"電話號(hào)碼為:"+duibiModel.getPhone()); flag=email("gkh8299@gmail.com", duibiModel.getBt()); } if(flag) { System.out.println("郵件發(fā)送成功"); }else { System.out.println("郵件發(fā)送失敗"); } }
總結(jié)
到此這篇關(guān)于java結(jié)合email實(shí)現(xiàn)自動(dòng)推送功能的文章就介紹到這了,更多相關(guān)java email 自動(dòng)推送內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java實(shí)現(xiàn)商品的查找、添加、出庫(kù)、入庫(kù)操作完整案例
這篇文章主要介紹了Java實(shí)現(xiàn)商品的查找、添加、出庫(kù)、入庫(kù)操作,結(jié)合完整實(shí)例形式分析了java基于面向?qū)ο蟮纳唐沸畔⑻砑?、刪除、查找等相關(guān)操作技巧,需要的朋友可以參考下2019-11-11詳解SpringBoot下文件上傳與下載的實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot下文件上傳與下載的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05修改及反編譯可運(yùn)行Jar包實(shí)現(xiàn)過(guò)程詳解
這篇文章主要介紹了如何修改及反編譯可運(yùn)行Jar包,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09Java設(shè)計(jì)模式之享元模式實(shí)例詳解
這篇文章主要介紹了Java設(shè)計(jì)模式之享元模式,結(jié)合實(shí)例形式詳細(xì)分析了享元模式的概念、功能、定義及使用方法,需要的朋友可以參考下2018-04-04簡(jiǎn)述springboot及springboot cloud環(huán)境搭建
這篇文章主要介紹了簡(jiǎn)述springboot及springboot cloud環(huán)境搭建的方法,包括spring boot 基礎(chǔ)應(yīng)用環(huán)境搭建,需要的朋友可以參考下2017-07-07Java實(shí)現(xiàn)動(dòng)態(tài)日歷效果
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)動(dòng)態(tài)日歷效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07SpringBoot結(jié)果封裝和異常攔截的實(shí)現(xiàn)示例
SpringBoot 項(xiàng)目中,我們通常需要將結(jié)果數(shù)據(jù)封裝成特定的格式,以方便客戶端進(jìn)行處理,本文主要介紹了SpringBoot?優(yōu)雅的結(jié)果封裝和異常攔截,感興趣的可以了解一下2023-08-08SpringBoot整合mybatis使用Druid做連接池的方式
這篇文章主要介紹了SpringBoot整合mybatis使用Druid做連接池的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08