javamail发送邮件(多个收件人,多个附件)



	public static final String host="邮箱host";
	public static final String username="发件人邮箱";
	public static final String password="密码/授权码";
//contactEmails收件人,cpEmial抄送人,subject主题,text内容,fileUrl附件
public  void sendAttachmentMail( List<String> contactEmails,String cpEmial,String subject,String text, List<String> fileUrl)  {
    	Properties props = new Properties();
		props.setProperty("mail.smtp.auth", "true"); // 发送服务器需要身份验证
		props.setProperty("mail.transport.protocol", "smtp"); // 发送邮件协议名称
		props.setProperty("mail.smtp.host", host); // 设置邮件服务器主机
		Session session = Session.getInstance(props,
				new Authenticator() {
					protected PasswordAuthentication getPasswordAuthentication() {
						return new PasswordAuthentication(username,password);
					}
				});
		try {
			MimeMessage msg = new MimeMessage(session);
			msg.setFrom(new InternetAddress(username)); // 发件人
			msg.setSubject(subject);
			 InternetAddress[] sendTo = new InternetAddress[contactEmails.size()];  
		        for (int i = 0; i < contactEmails.size(); i++) {  
		        	logger.info("发送给:"+contactEmails.get(i));
		            sendTo[i] = new InternetAddress(contactEmails.get(i));  
		        }  
		    msg.setRecipients(javax.mail.internet.MimeMessage.RecipientType.TO, sendTo); 
			msg.setRecipients(Message.RecipientType.CC, InternetAddress.parse(cpEmial)); 
			   // 设置正文
			   BodyPart bp = new MimeBodyPart(); 
			   bp.setContent("<h1>"+text+"</h1>", "text/html;charset=utf-8");
			   MimeMultipart mp = new MimeMultipart();
			   mp.addBodyPart(bp);
			  // 设置附件
			if (fileUrl != null && fileUrl.size() > 0) {
			    for (int i = 0; i < fileUrl.size(); i++) {
			        bp = new MimeBodyPart();
			        FileDataSource fds = new FileDataSource(fileUrl.get(i)); 
			        bp.setDataHandler(new DataHandler(fds)); 
			        bp.setFileName(MimeUtility.encodeText(fds.getName(), "UTF-8", "B"));
			        mp.addBodyPart(bp); 
			    }
			}
			msg.setContent(mp); 

			Transport.send(msg);
		} catch (AddressException e) {
			e.printStackTrace();
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		} catch (MessagingException e) {
			e.printStackTrace();
		}
	}

猜你喜欢

转载自blog.csdn.net/qq_41396619/article/details/81075871