使用JavaMail发邮件

public class EmailUtil {
	public static void sendEmail(String smtpHost, String senderAddress, String senderName,
					String receiverAddress, String sub, String content) throws Exception {
		List<String> recipients = new ArrayList<String>();
		recipients.add(receiverAddress);

		sendEmail(smtpHost, senderAddress, senderName, recipients, sub, content);
	}

	public static void sendEmail(String smtpHost, String senderAddress, String senderName,
					List<String> recipients, String sub, String content) throws Exception {
		if (smtpHost == null) {
			String errMsg = "Could not send email: smtp host address is null";
			
			throw new Exception(errMsg);
		}

		try {
			Properties props = System.getProperties();
			props.put("mail.smtp.host", smtpHost);
			props.put("mail.smtp.port", "25");
		    props.put("mail.smtp.auth", "true");

			Session session = Session.getDefaultInstance(props,null );
			MimeMessage message = new MimeMessage( session );
			message.setSubject(sub,"UTF-8");			
			message.setFrom(new InternetAddress(senderAddress, senderName));
			for (String recipient : recipients) {
				message.addRecipients(Message.RecipientType.TO, recipient);
			}		
			
			Multipart mp = new MimeMultipart("related");    
	        MimeBodyPart mbp = new MimeBodyPart();    
	   
	        // 设定邮件内容的类型为 text/html    
	        mbp.setContent(content, "text/html;charset=UTF-8");    
	        mp.addBodyPart(mbp);    
	        
	     // 新建一个存放附件的BodyPart
	        mbp = new MimeBodyPart(); 
	        byte[]  bytes=new byte[]{};
	        FileInputStream  fis=new FileInputStream("F:/shu.jpg");
	        DataHandler dh = new DataHandler(new ByteArrayDataSource(fis,"application/octet-stream"));
	        mbp.setDataHandler(dh); 
	        // 加上这句将作为附件发送,否则将作为信件的文本内容
	        mbp.setFileName("1.jpg"); 
	        mbp.setHeader("Content-ID", "IMG1" );
	        // 将含有附件的BodyPart加入到MimeMultipart对象中
	        mp.addBodyPart(mbp); 
	        message.setContent(mp);  
			message.setSentDate( new Date() );		
			message.saveChanges();
			 Transport   transport=session.getTransport("smtp");   
			  transport.connect(smtpHost,"hu_wei118","password");   
			  transport.sendMessage(message,message.getAllRecipients());
			  transport.close();
		 } catch (Exception e) {
				throw new Exception("errorMsg", e);
		 }
	}
}

 

 

 

所需包:activation.jar      mail.jar

给一个人发邮件

 

web应用中调用EmailUtil.sendEmail("smtp.163.com", "hu_wei118@163.com", "XX",
      "hu_wei118@126.com", "Test", "你好!");

给N个人发邮件

web应用中调用

List<String>    list=new ArrayList<String>();

list.add(hu_wei118@126.com);

list.add(xxxx@xxx.com);

list.add(xxxxx@xxxx.cn);

EmailUtil.sendEmail("smtp.163.com", "hu_wei118@163.com", "XX", list,
          "Test", "你好!");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值