java邮件发送

需要依赖两个jar包:

activation.jar、mail.jar

import java.util.Properties;

import javax.mail.Address;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class SendMailUtil {

	/**
	 * 发送邮件提醒.
	 */
	private void sendMail(final Map input){
		final String[] jsryx = {"[email protected]"};
		final String content = "正文";
		final String title = "主题";
		LOG.info("邮件发送至"+jsryx[0]);
 		LOG.info("邮件内容"+content);
 		LOG.info("邮件主题"+title);
 		ITaxXtcsBizContext context = OSGiUtil.getService(ITaxXtcsBizContext.class);
	 	final String host = context.findCszByCsmc("MAIL_HOST");
	 	final String user = context.findCszByCsmc("MAIL_USERNAME");
	 	final String password = context.findCszByCsmc("MAIL_PASSWORD");
	 	LOG.info("邮件服务器host:"+host);
 		LOG.info("邮件服务器user:"+user);
 		LOG.info("邮件服务器password:"+password);
            
        //配置文件,用于实例化java.mail.session    
        Properties pro = System.getProperties();  
            
        //登录SMTP服务器,需要获得授权,网易163邮箱新近注册的邮箱均不能授权。    
        pro.put("mail.smtp.auth", "true");    
	  	pro.put("mail.transport.protocol", "smtp");    
		pro.put("mail.host", host);    
            
		for(int i = 0; i < jsryx.length; i++){
        	Session session = Session.getInstance(pro);//根据属性新建一个邮件会话  
          	MimeMessage message = new MimeMessage(session);//由邮件会话新建一个消息对象  
	        try {
	        	message.setFrom(new InternetAddress(user));//设置发件人的地址  
	        	message.setRecipient(Message.RecipientType.TO, new InternetAddress(jsryx[i]));//设置收件人,并设置其接收类型为TO  
	        	message.setSubject(title);//设置标题  
	        	message.setContent(content, "text/html; charset=utf-8"); //发送HTML邮件,内容样式比较丰富  
	        	message.setSentDate(new Date());//设置发信时间  
	        	message.saveChanges();//存储邮件信息  
	        	
	        	Transport transport = session.getTransport();  
				// 连接邮件服务器  
	        	transport.connect(host,user, password);  
				// 发送邮件  
				transport.sendMessage(message, new Address[] {new InternetAddress(jsryx[i])});
				transport.close();  
				LOG.info("邮件发送成功");
			} catch (Exception e) {
				e.printStackTrace();
				LOG.info("邮件发送失败"+ e);
			}
        }
	}

}

 

你可能感兴趣的:(Java)