java发送html附件_javamail发送带有附件的html邮件 清疚 2022-11-08 11:27 168阅读 0赞 package org.tatan.mail; import javax.mail.Session; import javax.mail.MessagingException; import javax.mail.Multipart; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMultipart; import javax.activation.FileDataSource; import javax.activation.DataHandler; public class SendAttachMail \{ public static void sendMessage(String smtpHost, String from, String to, String subject, String messageText, String fileName) throws MessagingException \{ // Step 1: Configure the mail session java.util.Properties props = new java.util.Properties(); props.setProperty("mail.smtp.auth", "true");//指定是否需要SMTP验证 props.setProperty("mail.smtp.host", smtpHost);//指定SMTP服务器 props.put("mail.transport.protocol", "smtp"); Session mailSession = Session.getDefaultInstance(props); mailSession.setDebug(true);//是否在控制台显示debug信息 // Step 2: Construct the message System.out.println("Constructing message - from=" + from + " to=" + to); InternetAddress fromAddress = new InternetAddress(from); InternetAddress toAddress = new InternetAddress(to); MimeMessage testMessage = new MimeMessage(mailSession); testMessage.setFrom(fromAddress); testMessage.addRecipient(javax.mail.Message.RecipientType.TO, toAddress); testMessage.setSentDate(new java.util.Date()); testMessage.setSubject(subject); // Step 3: Create a body part to hold the "text" portion of the message System.out.println("Constructing 'text' body part"); MimeBodyPart textBodyPart = new MimeBodyPart(); textBodyPart.setContent(messageText,"text/html;charset=gb2312"); // Step 4: Create a body part to hold the "file" portion of the message System.out.println("Attaching 'file' body part: " + fileName); MimeBodyPart fileBodyPart = new MimeBodyPart(); FileDataSource fds = new FileDataSource("c:\\\\a.rar"); fileBodyPart.setDataHandler(new DataHandler(fds)); fileBodyPart.setFileName(fds.getName()); System.out.println("Finished attaching file"); // Step 5: Create a Multipart/container and add the parts Multipart container = new MimeMultipart(); container.addBodyPart(textBodyPart); container.addBodyPart(fileBodyPart); // Step 6: Add the Multipart to the actual message testMessage.setContent(container); System.out.println("Message constructed"); // Step 7: Now send the message Transport transport = mailSession.getTransport("smtp"); transport.connect(smtpHost, "webmaster", "password"); transport.sendMessage(testMessage, testMessage.getAllRecipients()); transport.close(); System.out.println("Message sent!"); \} public static void main(String\[\] args) \{ String fileName = "a.rar"; String smtpHost = "localhost"; String from = "webmaster@mymail.com"; String to = "mfc42d@sohu.com"; String subject = "html邮件附件测试"; //subject javamail自动转码 StringBuffer theMessage = new StringBuffer(); theMessage.append(" ## 这倒霉孩子 ## "); theMessage.append(" -------------------- "); theMessage.append("*年年失望年年望*"); try \{ SendAttachMail.sendMessage(smtpHost, from, to, subject, theMessage.toString(), fileName); \} catch (javax.mail.MessagingException exc) \{ exc.printStackTrace(); \} \} \}
还没有评论,来说两句吧...