📄 sendemail.java
字号:
import javax.mail.*;
import javax.mail.internet.*;
import java.util.PropertyResourceBundle;
import java.util.Date;
import javax.activation.DataHandler;
public class SendEmail {
public static String getPropertiesDescByKey(String code,String propertiesFile){
try{
PropertyResourceBundle configBundle = (PropertyResourceBundle)PropertyResourceBundle.getBundle(propertiesFile);
String desc = configBundle.getString(code);
return desc;
}catch(Exception e){
e.printStackTrace();
}
return null;
}
public static void main(String[] args) {
try {
String title="对帐结果";
String content="我要成功";
java.util.Properties props = System.getProperties();
props.put("mail.smtp.host","mail.hmit.com.cn");
props.put("mail.smtp.auth","true");
Session s=Session.getInstance(props);
s.setDebug(true);
MimeMessage message=new MimeMessage(s);
//从属性文件中读取发送方的邮件箱和密码------------------------------------------------------
String fromEmail=SendEmail.getPropertiesDescByKey("email","Email");
String fromEailPWD=SendEmail.getPropertiesDescByKey("pwd","Email");
System.out.println (fromEmail);
//登录到要发送的邮件服务器-----------------------------------------------------------------------
Transport transport=s.getTransport("smtp");
transport.connect("mail.hmit.com.cn",fromEmail,fromEailPWD);//以smtp方式登录邮箱
//设置发件人地址---------------------------------------------------------------------------------------
InternetAddress from=new InternetAddress(fromEmail);
message.setFrom(from);
//收件人地址,并解析油箱地址----------------------------------------------------------------------
String toURL = "mingyang.sun@hmit.com.cn;lixiong.chen@hmit.com.cn";
while(toURL.indexOf(";") != -1){
toURL=toURL.replace(';',',');
}
String temptoURL=toURL;
int len=0;
while(temptoURL.indexOf(",")!=-1){
len++;
temptoURL=temptoURL.substring(temptoURL.indexOf(",")+1,temptoURL.length());
}
InternetAddress[] tolist= new InternetAddress[len+1];
int j=0;
while(toURL.indexOf(",")!=-1){
String toReceiver=toURL.substring(0,toURL.indexOf(","));
toURL=toURL.substring(toURL.indexOf(",")+1,toURL.length());
tolist[j]=new InternetAddress(toReceiver);
j++;
//message.setRecipient(Message.RecipientType.TO,to);
}
if(toURL!=""){
tolist[j]=new InternetAddress(toURL);
}
//InternetAddress to=new InternetAddress(toURL);
//message.setRecipient(Message.RecipientType.TO,to);
message.setRecipients(Message.RecipientType.TO,tolist);
//设置主题------------------------------------------------------------------------------
message.setSubject(title);
//设置发送日期-----------------------------------------------------------------------
message.setSentDate(new Date());
//设置正文内容------------------------------------------------------------------------
//message.setText(content);//设置信件内容
// 如果文件上传成功,则发送附件; 如果文件上传不成功,则发送错误信息
Multipart mm=new MimeMultipart();//新建一个MimeMultipart对象用来存放多个BodyPart对象
//第一部分
BodyPart mdp=new MimeBodyPart();//新建一个存放信件内容的BodyPart对象
mdp.setContent(content,"text/html;charset=gb2312");//给BodyPart对象设置内容和格式/编码方式
mm.addBodyPart(mdp);//将含有信件内容的BodyPart加入到MimeMultipart对象中
//第二部分(附件)
mdp=new MimeBodyPart();
//String targetFile = this.getServletContext().getRealPath("") + "tmsTemp\\target\\uploadaccoutcheck.xls";
String targetFile = "D:/a.xls";
javax.activation.FileDataSource fds=new javax.activation.FileDataSource(targetFile);
DataHandler dh=new DataHandler(fds);
mdp.setFileName("checkAccountResult.xls");//可以和原文件名不一致
mdp.setDataHandler(dh);
mm.addBodyPart(mdp);
//把mm作为消息对象的内容------------------------------------------------------------
message.setContent(mm);
//存储邮件信息------------------------------------------------------------------------------
message.saveChanges();
//开始发送
transport.sendMessage(message,message.getAllRecipients());//发送邮件,其中第二个参数是所有已设好的收件人地址
transport.close();
}
catch (Exception ex) {
ex.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -