一下是发送邮件的类,我想把邮件的发送时间定制在晚上八点以后,不知道怎么修改这里 //设置邮件发送时间
msg.setSentDate(new java.util.Date());
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.Connection;
import java.util.Date;
import java.text.SimpleDateFormat;
import java.util.Locale;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeUtility;
import javax.mail.Session;
import java.util.Properties;
import javax.mail.internet.MimeMessage;
import javax.mail.Message;
import java.sql.*;
import oracle.sql.*;
import oracle.jdbc.driver.*;
import java.text.DecimalFormat;
import java.math.BigDecimal;
public class SendEmail {
public static void Emain(String squono,String checkflg,
String itemno,Double x_old_quoprc,String compno,String curstyle) {
String ch_compno = "";
String ch_itemno = "";
String old_quoprc = "";
String new_quoprc = "";
String datetime = "";
String ch_squono = "";
String o_ch_curstyle= "";
String n_ch_curstyle= "";
String old_ch_curstyle = "";//货币号
String new_ch_curstyle = "";
Connection con = null;
Statement stm = null;
String content= "";
if(checkflg.equals("1")){
String ClassForName = "oracle.jdbc.driver.OracleDriver";
String ServerNddb = "jdbc:oracle:thin:@dataserver:1521:server";
String User = "NGSoft";
String Pwd = "A3.server";
String compname = "";//供应商name
String itemname = "";//物料name
String descript = "";//规格
String descript1="";//描述
String newoldprc = "";
String cur = "";
if(curstyle==null) {
curstyle = "";
}
if(curstyle.equals("")){
cur = "人民币";
}
if(curstyle.equals("01")){
cur= "港币";
}
if(curstyle.equals("02")){
cur="美金";
}
BigDecimal forprc = new BigDecimal(x_old_quoprc.toString());
BigDecimal one = new BigDecimal("1");
newoldprc = forprc.toString();
try {
Class.forName(ClassForName);
con = DriverManager.getConnection(ServerNddb,User,Pwd);
con.setAutoCommit(false);
stm = con.createStatement();
String sql0 = "select ch_squono,ch_itemno,ch_compno,old_quoprc,new_quoprc,datetime,old_huobi,new_huobi"+
" from NG0001.cg_pr_change"+
" where ch_squono='"+squono+"'"+
" and datetime = "+
" (select max(datetime) from NG0001.cg_pr_change where ch_squono='"+squono+"')";
ResultSet rs0 = stm.executeQuery(sql0);
if(rs0.next()){
ch_compno = rs0.getString("ch_compno");
ch_itemno = rs0.getString("ch_itemno");
old_quoprc =rs0.getString("old_quoprc");
new_quoprc =rs0.getString("new_quoprc");
datetime = rs0.getString("datetime");
o_ch_curstyle = rs0.getString("old_huobi");
n_ch_curstyle = rs0.getString("new_huobi");
}
if(o_ch_curstyle==null){
o_ch_curstyle="";
}
if(o_ch_curstyle.equals("")){
old_ch_curstyle="人民币";
}
if(o_ch_curstyle.equals("01")){
old_ch_curstyle="港币";
}
if(o_ch_curstyle.equals("02")){
old_ch_curstyle="美元";
}
if(n_ch_curstyle==null){
n_ch_curstyle="";
}
if(n_ch_curstyle.equals("")){
new_ch_curstyle="人民币";
}
if(n_ch_curstyle.equals("01")){
new_ch_curstyle="港币";
}
if(n_ch_curstyle.equals("02")){
new_ch_curstyle="美元";
}
if(!ch_itemno.equals("")){
String sql =
"select compname from NG0001.enterprise where compno = '"+ch_compno+"'";
ResultSet rs1 = stm.executeQuery(sql);
if (rs1.next()) {
compname = rs1.getString("compname");
}
String sql1 =
"select itemname,descript,descript1 from NG0001.itemdata where itemno = '"+ch_itemno+"'";
ResultSet rs2 = stm.executeQuery(sql1);
if (rs2.next()) {
itemname = rs2.getString("itemname");
descript = rs2.getString("descript");
descript1= rs2.getString("descript1");
}
rs0.close();
rs1.close();
rs2.close();
stm.close();
}else{
String sql =
"select compname from NG0001.enterprise where compno = '" +
compno + "'";
System.out.println("找出企业名称" + sql);
ResultSet rs1 = stm.executeQuery(sql);
if (rs1.next()) {
compname = rs1.getString("compname");
}
String sql1 =
"select itemname,descript,descript1 from NG0001.itemdata where itemno = '" +
itemno + "'";
ResultSet rs2 = stm.executeQuery(sql1);
if (rs2.next()) {
itemname = rs2.getString("itemname");
descript = rs2.getString("descript");
descript1= rs2.getString("descript1");
}
rs0.close();
rs1.close();
rs2.close();
stm.close();
}
} catch (Exception ex) {
System.out.println("出问题了: "+ex.getMessage());
}
String from = "[email protected]"; //发件人
String[] recipients = new String[5]; //收件人,可以多个
recipients[0] = "[email protected]";//李鹏飞
recipients[1] = "[email protected]";//谢开鑫
//recipients[2] = "[email protected]";//xuyuqiao
recipients[2] = "[email protected]";//马燕
recipients[3] = "[email protected]";//Ivan
recipients[4] = "[email protected]";//Jessie Ren
String subject = "采购价更新信息"; //邮件主题
if(!ch_itemno.equals("")){
content = "原有物料价格发生变更:"+"\n 物料编号:" + ch_itemno + "("+itemname+")"+ "\n 规格:"+ descript +"\n 描述:"+ descript1 +"\n 供应商NO:" + ch_compno + "("+compname+")"+
"\n 原始价格: " +old_quoprc+"("+old_ch_curstyle+")"+"\n 更新后的价格:" + new_quoprc + "("+new_ch_curstyle+")"+"\n 更新日期: " +
datetime; //邮件内容
}else{
content = "这是新增的物料价格信息:"+"\n 物料编号:" + itemno + "("+itemname+")"+ "\n 规格:"+ descript +"\n 描述:"+ descript1 +"\n 供应商NO:" +
compno + "("+compname+")"+"\n 价格:" +newoldprc+"("+cur+")"; //邮件内容
}
String contentType = "text"; //邮件内容格式(文本或html)
String fileName = null; //附件文件名(目前只提供一个附件)
if (recipients != null && recipients.length > 0) {
Properties props = new Properties();
//设置邮件服务器地址,连接超时时限等信息
props.put("mail.smtp.host", "172.18.2.6"); //邮件服务器
props.put("mail.smtp.connectiontimeout", "10000"); //
props.put("mail.smtp.timeout", "10000"); //
//创建缺省的session对象
Session session = Session.getDefaultInstance(props, null);
//创建message对象
Message msg = new MimeMessage(session);
//设置发件人和收件人
try {
InternetAddress addressFrom = new InternetAddress(from);
msg.setFrom(addressFrom);
InternetAddress[] addressTo = new InternetAddress[recipients.
length];
for (int i = 0; i < recipients.length; i++) {
addressTo[i] = new InternetAddress(recipients[i]);
}
msg.setRecipients(Message.RecipientType.TO, addressTo);
//设置邮件标题,中文编码
subject = MimeUtility.encodeText(new String(subject.getBytes(),
"GB2312"), "GB2312", "B");
msg.setSubject(subject);
//设置邮件内容,区分文本格式
msg.setText(content);
//设置邮件发送时间
msg.setSentDate(new java.util.Date());
//调用抽象类的静态方法send()发送邮件
Transport.send(msg);
} catch (Exception ex) {
}
}
}
}
}
msg.setSentDate(new java.util.Date());
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.Connection;
import java.util.Date;
import java.text.SimpleDateFormat;
import java.util.Locale;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeUtility;
import javax.mail.Session;
import java.util.Properties;
import javax.mail.internet.MimeMessage;
import javax.mail.Message;
import java.sql.*;
import oracle.sql.*;
import oracle.jdbc.driver.*;
import java.text.DecimalFormat;
import java.math.BigDecimal;
public class SendEmail {
public static void Emain(String squono,String checkflg,
String itemno,Double x_old_quoprc,String compno,String curstyle) {
String ch_compno = "";
String ch_itemno = "";
String old_quoprc = "";
String new_quoprc = "";
String datetime = "";
String ch_squono = "";
String o_ch_curstyle= "";
String n_ch_curstyle= "";
String old_ch_curstyle = "";//货币号
String new_ch_curstyle = "";
Connection con = null;
Statement stm = null;
String content= "";
if(checkflg.equals("1")){
String ClassForName = "oracle.jdbc.driver.OracleDriver";
String ServerNddb = "jdbc:oracle:thin:@dataserver:1521:server";
String User = "NGSoft";
String Pwd = "A3.server";
String compname = "";//供应商name
String itemname = "";//物料name
String descript = "";//规格
String descript1="";//描述
String newoldprc = "";
String cur = "";
if(curstyle==null) {
curstyle = "";
}
if(curstyle.equals("")){
cur = "人民币";
}
if(curstyle.equals("01")){
cur= "港币";
}
if(curstyle.equals("02")){
cur="美金";
}
BigDecimal forprc = new BigDecimal(x_old_quoprc.toString());
BigDecimal one = new BigDecimal("1");
newoldprc = forprc.toString();
try {
Class.forName(ClassForName);
con = DriverManager.getConnection(ServerNddb,User,Pwd);
con.setAutoCommit(false);
stm = con.createStatement();
String sql0 = "select ch_squono,ch_itemno,ch_compno,old_quoprc,new_quoprc,datetime,old_huobi,new_huobi"+
" from NG0001.cg_pr_change"+
" where ch_squono='"+squono+"'"+
" and datetime = "+
" (select max(datetime) from NG0001.cg_pr_change where ch_squono='"+squono+"')";
ResultSet rs0 = stm.executeQuery(sql0);
if(rs0.next()){
ch_compno = rs0.getString("ch_compno");
ch_itemno = rs0.getString("ch_itemno");
old_quoprc =rs0.getString("old_quoprc");
new_quoprc =rs0.getString("new_quoprc");
datetime = rs0.getString("datetime");
o_ch_curstyle = rs0.getString("old_huobi");
n_ch_curstyle = rs0.getString("new_huobi");
}
if(o_ch_curstyle==null){
o_ch_curstyle="";
}
if(o_ch_curstyle.equals("")){
old_ch_curstyle="人民币";
}
if(o_ch_curstyle.equals("01")){
old_ch_curstyle="港币";
}
if(o_ch_curstyle.equals("02")){
old_ch_curstyle="美元";
}
if(n_ch_curstyle==null){
n_ch_curstyle="";
}
if(n_ch_curstyle.equals("")){
new_ch_curstyle="人民币";
}
if(n_ch_curstyle.equals("01")){
new_ch_curstyle="港币";
}
if(n_ch_curstyle.equals("02")){
new_ch_curstyle="美元";
}
if(!ch_itemno.equals("")){
String sql =
"select compname from NG0001.enterprise where compno = '"+ch_compno+"'";
ResultSet rs1 = stm.executeQuery(sql);
if (rs1.next()) {
compname = rs1.getString("compname");
}
String sql1 =
"select itemname,descript,descript1 from NG0001.itemdata where itemno = '"+ch_itemno+"'";
ResultSet rs2 = stm.executeQuery(sql1);
if (rs2.next()) {
itemname = rs2.getString("itemname");
descript = rs2.getString("descript");
descript1= rs2.getString("descript1");
}
rs0.close();
rs1.close();
rs2.close();
stm.close();
}else{
String sql =
"select compname from NG0001.enterprise where compno = '" +
compno + "'";
System.out.println("找出企业名称" + sql);
ResultSet rs1 = stm.executeQuery(sql);
if (rs1.next()) {
compname = rs1.getString("compname");
}
String sql1 =
"select itemname,descript,descript1 from NG0001.itemdata where itemno = '" +
itemno + "'";
ResultSet rs2 = stm.executeQuery(sql1);
if (rs2.next()) {
itemname = rs2.getString("itemname");
descript = rs2.getString("descript");
descript1= rs2.getString("descript1");
}
rs0.close();
rs1.close();
rs2.close();
stm.close();
}
} catch (Exception ex) {
System.out.println("出问题了: "+ex.getMessage());
}
String from = "[email protected]"; //发件人
String[] recipients = new String[5]; //收件人,可以多个
recipients[0] = "[email protected]";//李鹏飞
recipients[1] = "[email protected]";//谢开鑫
//recipients[2] = "[email protected]";//xuyuqiao
recipients[2] = "[email protected]";//马燕
recipients[3] = "[email protected]";//Ivan
recipients[4] = "[email protected]";//Jessie Ren
String subject = "采购价更新信息"; //邮件主题
if(!ch_itemno.equals("")){
content = "原有物料价格发生变更:"+"\n 物料编号:" + ch_itemno + "("+itemname+")"+ "\n 规格:"+ descript +"\n 描述:"+ descript1 +"\n 供应商NO:" + ch_compno + "("+compname+")"+
"\n 原始价格: " +old_quoprc+"("+old_ch_curstyle+")"+"\n 更新后的价格:" + new_quoprc + "("+new_ch_curstyle+")"+"\n 更新日期: " +
datetime; //邮件内容
}else{
content = "这是新增的物料价格信息:"+"\n 物料编号:" + itemno + "("+itemname+")"+ "\n 规格:"+ descript +"\n 描述:"+ descript1 +"\n 供应商NO:" +
compno + "("+compname+")"+"\n 价格:" +newoldprc+"("+cur+")"; //邮件内容
}
String contentType = "text"; //邮件内容格式(文本或html)
String fileName = null; //附件文件名(目前只提供一个附件)
if (recipients != null && recipients.length > 0) {
Properties props = new Properties();
//设置邮件服务器地址,连接超时时限等信息
props.put("mail.smtp.host", "172.18.2.6"); //邮件服务器
props.put("mail.smtp.connectiontimeout", "10000"); //
props.put("mail.smtp.timeout", "10000"); //
//创建缺省的session对象
Session session = Session.getDefaultInstance(props, null);
//创建message对象
Message msg = new MimeMessage(session);
//设置发件人和收件人
try {
InternetAddress addressFrom = new InternetAddress(from);
msg.setFrom(addressFrom);
InternetAddress[] addressTo = new InternetAddress[recipients.
length];
for (int i = 0; i < recipients.length; i++) {
addressTo[i] = new InternetAddress(recipients[i]);
}
msg.setRecipients(Message.RecipientType.TO, addressTo);
//设置邮件标题,中文编码
subject = MimeUtility.encodeText(new String(subject.getBytes(),
"GB2312"), "GB2312", "B");
msg.setSubject(subject);
//设置邮件内容,区分文本格式
msg.setText(content);
//设置邮件发送时间
msg.setSentDate(new java.util.Date());
//调用抽象类的静态方法send()发送邮件
Transport.send(msg);
} catch (Exception ex) {
}
}
}
}
}
//设置发送时间在晚上8点以后
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR, 8);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
TimerTask task = new TimerTask() {
//发送邮件
public void run() {
SendEmail.Emain(...);
}
};
Timer timer = new Timer();
//设置每天晚上8点发送一次
timer.scheduleAtFixedRate(task, calendar.getTime(), 1000 * 3600 * 24);