⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sendemail.java

📁 JavaMail发送Email
💻 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 + -