java结合email实现自动推送功能
1、获取表中最后一条数据
publicstaticStringdemo()throwsSQLException{
Stringsql="select*FROMbaoxiuORDERBYidDESCLIMIT0,1;";
PreparedStatementptmt=conn.prepareStatement(sql);
ResultSetrs=ptmt.executeQuery();
Stringstr=null;
if(rs.next()){
str=rs.getString("bt");
}
returnstr;
}
2、使用模糊查询,获取符合条件的所有数据
publicstaticListgetBaoX(Stringbt)throwsSQLException{ Stringsql="selectbt,`user`.cardid,phoneFROMbaoxiu,`user`WHEREbaoxiu.cardid=`user`.cardidANDbtLIKE'%"+bt+"%'"; PreparedStatementptmt=conn.prepareStatement(sql); ResultSetrs=ptmt.executeQuery(); List list=newArrayList<>(); while(rs.next()){ DuibiModelduibi=newDuibiModel(); duibi.setBt(rs.getString("bt")); duibi.setCardid(rs.getString("cardid")); duibi.setPhone(rs.getString("phone")); list.add(duibi); } returnlist; }
3、Java发送邮件
importjavax.mail.Authenticator;
importjavax.mail.PasswordAuthentication;
publicclassAuthextendsAuthenticator{
privateStringusername="";
privateStringpassword="";
publicAuth(Stringusername,Stringpassword){
this.username=username;
this.password=password;
}
publicPasswordAuthenticationgetPasswordAuthentication(){
returnnewPasswordAuthentication(username,password);
}
}
importjava.util.Properties;
importjavax.mail.Message;
importjavax.mail.Session;
importjavax.mail.Transport;
importjavax.mail.internet.InternetAddress;
importjavax.mail.internet.MimeMessage;
publicclassSendMail{
privatePropertiesprops;//系统属性
privateSessionmailSession;//邮件会话对象
privateMimeMessagemimeMsg;//MIME邮件对象
publicSendMail(StringSMTPHost,StringPort,StringMailUsername,StringMailPassword){
Authau=newAuth(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);
}
publicbooleansendingMimeMail(StringMailFrom,StringMailTo,
StringMailCopyTo,StringMailBCopyTo,StringMailSubject,
StringMailBody){
try{
//创建MIME邮件对象
mimeMsg=newMimeMessage(mailSession);
//设置发信人
mimeMsg.setFrom(newInternetAddress(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);
returntrue;
}catch(Exceptione){
e.printStackTrace();
returnfalse;
}
}
}
publicstaticbooleanemail(Stringemail,Stringstr){
StringSMTPHost="smtp.qq.com";
StringPort="25";
StringMailUsername="gkh35@foxmail.com";//直接用我的邮件进行发送测试
StringMailPassword="wggddlvcrqfubhde";//密码请勿修改
SendMailsendMail=newSendMail(SMTPHost,Port,MailUsername,MailPassword);
StringMailFrom="gkh35@foxmail.com";//发件人
StringMailTo=email;//收件人
StringMailCopyTo=null;//抄送人
StringMailBCopyTo=null;//暗送人
StringMailSubject="发现类似商品";//邮件主题
StringMailBody=str;//邮件内容
//发送邮件
booleanisSend=sendMail.sendingMimeMail(MailFrom,MailTo,MailCopyTo,MailBCopyTo,MailSubject,MailBody);
returnisSend;
}
4、main方法
publicstaticvoidmain(String[]args)throwsSQLException{
booleanflag=false;
Stringstr=demo();
for(DuibiModelduibiModel: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实现自动推送功能的文章就介绍到这了,更多相关javaemail自动推送内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!