首页 > 代码库 > JavaMail
JavaMail
使用java发送邮件。包含附件
环境
windows7
jdk6
mail.jar
代码如下
package net.codejava.http; import java.io.IOException; import java.util.Date; import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Multipart; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; public class PlainTextEmailSender { public void sendPlainTextEmail(String host, String port, final String userName, final String password, String toAddress, String subject, String message, String[] attachFiles) throws AddressException, MessagingException { // sets SMTP server properties Properties properties = new Properties(); properties.put("mail.smtp.host", host); properties.put("mail.smtp.port", port); properties.put("mail.smtp.auth", "true"); properties.put("mail.smtp.starttls.enable", "true"); // creates a new session with an authenticator Authenticator auth = new Authenticator() { public PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(userName, password); } }; Session session = Session.getInstance(properties, auth); // creates a new e-mail message Message msg = new MimeMessage(session); msg.setFrom(new InternetAddress(userName)); InternetAddress[] toAddresses = { new InternetAddress(toAddress) }; msg.setRecipients(Message.RecipientType.TO, toAddresses); msg.setSubject(subject); msg.setSentDate(new Date()); // creates message part MimeBodyPart messageBodyPart = new MimeBodyPart(); messageBodyPart.setContent(message, "text/html"); // creates multi-part Multipart multipart = new MimeMultipart(); multipart.addBodyPart(messageBodyPart); // adds attachments if (attachFiles != null && attachFiles.length > 0) { for (String filePath : attachFiles) { MimeBodyPart attachPart = new MimeBodyPart(); try { attachPart.attachFile(filePath); } catch (IOException ex) { ex.printStackTrace(); } multipart.addBodyPart(attachPart); } } // sets the multi-part as e-mail‘s content msg.setContent(multipart); // sends the e-mail Transport.send(msg); } /** * Test the send e-mail method * */ public static void main(String[] args) { // SMTP server information String host = "smtp.gmail.com"; String port = "587"; String mailFrom = "mlchina515@gmail.com"; String password = "malin1994515@"; // outgoing message information String mailTo = "641174088@qq.com"; String subject = "来呀,来呀,来呀来呀"; String message = "<i>Greetings!</i><br>"; message += "<b>Wish you a nice day!</b><br>"; message += "<font color=red>Duke</font>"; // attachments String[] attachFiles = new String[3]; attachFiles[0] = "C:\\Users\\L\\Pictures\\image\\1.jpg"; attachFiles[1] = "C:\\Users\\L\\Pictures\\image\\2.jpg"; attachFiles[2] = "C:\\Users\\L\\Pictures\\image\\3.jpg"; PlainTextEmailSender mailer = new PlainTextEmailSender(); try { mailer.sendPlainTextEmail(host, port, mailFrom, password, mailTo, subject, message, attachFiles); System.out.println("Email sent."); } catch (Exception ex) { System.out.println("Failed to sent email."); ex.printStackTrace(); } } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。