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í)通過驗(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)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. ASP中實(shí)現(xiàn)字符部位類似.NET里String對(duì)象的PadLeft和PadRight函數(shù)2. JavaWeb Servlet中url-pattern的使用3. css代碼優(yōu)化的12個(gè)技巧4. 微信開發(fā) 網(wǎng)頁授權(quán)獲取用戶基本信息5. 詳解瀏覽器的緩存機(jī)制6. jsp實(shí)現(xiàn)登錄驗(yàn)證的過濾器7. jsp+servlet簡(jiǎn)單實(shí)現(xiàn)上傳文件功能(保存目錄改進(jìn))8. asp批量添加修改刪除操作示例代碼9. msxml3.dll 錯(cuò)誤 800c0019 系統(tǒng)錯(cuò)誤:-2146697191解決方法10. HTML5 Canvas繪制圖形從入門到精通
