求解:java实现每隔30分钟自动发送邮件 大家好:有谁有关于java自动发送邮件的程序啊,关于jmail的实现。跪求啊谢谢大家了啊。希望大家帮助我一下啊 !!!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 jmail的用法度娘一搜一大堆自动运行一般两种做法,一个是quartz,定时执行任务一个是windows的计划任务或者linux的crontab import java.io.File;import java.util.Date;import java.util.Properties;import java.util.Vector;import javax.activation.DataHandler;import javax.activation.FileDataSource;import javax.mail.Authenticator;import javax.mail.Multipart;import javax.mail.PasswordAuthentication;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeBodyPart;import javax.mail.internet.MimeMessage;import javax.mail.internet.MimeMultipart;import javax.mail.internet.MimeUtility;public class SendMailTest { public int sendMail(String host, String from, String username, String password, String to, String subject, String content, Vector appendFiles, boolean author) { try { Properties p = System.getProperties(); p.put("mail.smtp.host", host); p.put("mail.smtp.auth", author + ""); p.put("mail.smtp.localhost", "forceview"); Session session = Session.getDefaultInstance(p, new PopupAuthenticator(username, password)); MimeMessage msg = new MimeMessage(session); msg.setFrom(new InternetAddress(from));// 设置发送帐号 String[] tos = to.split(";"); InternetAddress[] sendTo = new InternetAddress[tos.length]; for (int i = 0; i < tos.length; i++) { sendTo[i] = new InternetAddress(tos[i]); } msg.setRecipients(javax.mail.internet.MimeMessage.RecipientType.TO, sendTo);// 设置接收邮件的地址 msg.setSubject(subject, "utf-8");// 设置主题 msg.setSentDate(new Date());// 设置发送时间 Multipart mp = new MimeMultipart(); MimeBodyPart bp = new MimeBodyPart(); bp.setContent( "<meta http-equiv=Content-Type content=text/html; charset=utf-8>" + content, "text/html;charset=UTF-8"); mp.addBodyPart(bp); MimeBodyPart fp; String appendStrs = ""; if (appendFiles != null) { for (int i = 0; i < appendFiles.size(); i++) { fp = new MimeBodyPart(); appendStrs = appendFiles.get(i).toString(); String[] filenames = appendStrs.split("\\|"); if (new File(filenames[0]).exists()) { FileDataSource fds = new FileDataSource(filenames[0]); fp.setDataHandler(new DataHandler(fds)); fp.setFileName(MimeUtility.encodeText(filenames[1] + fds.getName(), "utf-8", "K")); mp.addBodyPart(fp); } } } msg.setContent(mp); msg.saveChanges(); Transport transport = session.getTransport("smtp");// 设置发送端口 transport.connect(host, username, password);// 连接邮件服务器 transport.sendMessage(msg, msg.getAllRecipients()); transport.close(); } catch (Exception e) { e.printStackTrace(); return -1; } return 0; } class PopupAuthenticator extends Authenticator { private String username, password; public PopupAuthenticator(String username, String password) { this.username = username; this.password = password; } public PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(this.username, this.password); } }} 你这个问题,问的大了。思路很简单,1楼都已经说了。你如果是不知道怎么实现,关于javamail的资料,确实是网上一大把。如果上述后你还搞不定,莫非你想让别人根据你的要求做出来,再将源代码发给你?这是不现实的,问题可以帮忙解答,项目怎么可以帮忙做呢! 每隔30分钟发一个消息,貌似会用到java.util.Timer类,至于发邮件网上很多,2楼的试试,看着很对 spring -quartz 使用相对较简单点 hql 语句? 请教webservice的问题,我的错误在哪里? 还问spring2 中的aop 问题 JAVA 菜鸟求教!我怎么把多一对多的客服端通信改成广播通信,而不是只是和服务端的交互! 菜鸟 hibernate session关闭的问题 一个关于Web应用程序开发异常的问题,急待解决~~~~ JBOSS3下使用EJB的问题 关于JAR自动运行的问题 我想用jbuilder7解析xml文件,大家给点建议吧!!!! tomcat无法启动的问题,请教! 请教各位高手,如何用for循环创建i个对象 请问Hibernate JPA 单表一对一双向关联配置
自动运行一般两种做法,一个是quartz,定时执行任务
一个是windows的计划任务或者linux的crontab
import java.io.File;
import java.util.Date;
import java.util.Properties;
import java.util.Vector;import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Authenticator;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;public class SendMailTest { public int sendMail(String host, String from, String username,
String password, String to, String subject, String content,
Vector appendFiles, boolean author) {
try {
Properties p = System.getProperties(); p.put("mail.smtp.host", host);
p.put("mail.smtp.auth", author + "");
p.put("mail.smtp.localhost", "forceview"); Session session = Session.getDefaultInstance(p,
new PopupAuthenticator(username, password)); MimeMessage msg = new MimeMessage(session); msg.setFrom(new InternetAddress(from));// 设置发送帐号 String[] tos = to.split(";");
InternetAddress[] sendTo = new InternetAddress[tos.length];
for (int i = 0; i < tos.length; i++) {
sendTo[i] = new InternetAddress(tos[i]);
}
msg.setRecipients(javax.mail.internet.MimeMessage.RecipientType.TO,
sendTo);// 设置接收邮件的地址 msg.setSubject(subject, "utf-8");// 设置主题 msg.setSentDate(new Date());// 设置发送时间 Multipart mp = new MimeMultipart(); MimeBodyPart bp = new MimeBodyPart();
bp.setContent(
"<meta http-equiv=Content-Type content=text/html; charset=utf-8>"
+ content, "text/html;charset=UTF-8"); mp.addBodyPart(bp); MimeBodyPart fp;
String appendStrs = "";
if (appendFiles != null) {
for (int i = 0; i < appendFiles.size(); i++) {
fp = new MimeBodyPart();
appendStrs = appendFiles.get(i).toString();
String[] filenames = appendStrs.split("\\|"); if (new File(filenames[0]).exists()) {
FileDataSource fds = new FileDataSource(filenames[0]);
fp.setDataHandler(new DataHandler(fds));
fp.setFileName(MimeUtility.encodeText(filenames[1]
+ fds.getName(), "utf-8", "K"));
mp.addBodyPart(fp);
}
}
}
msg.setContent(mp);
msg.saveChanges(); Transport transport = session.getTransport("smtp");// 设置发送端口
transport.connect(host, username, password);// 连接邮件服务器
transport.sendMessage(msg, msg.getAllRecipients()); transport.close();
} catch (Exception e) {
e.printStackTrace(); return -1;
} return 0;
} class PopupAuthenticator extends Authenticator {
private String username, password; public PopupAuthenticator(String username, String password) {
this.username = username;
this.password = password;
} public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(this.username, this.password);
}
}}
思路很简单,1楼都已经说了。
你如果是不知道怎么实现,关于javamail的资料,确实是网上一大把。
如果上述后你还搞不定,莫非你想让别人根据你的要求做出来,再将源代码发给你?这是不现实的,问题可以帮忙解答,项目怎么可以帮忙做呢!