首先在pom中添加依赖:
org.apache.commons commons-email 1.2
1、发送简单邮件:
Email email = new SimpleEmail(); email.setHostName("smtp.gmail.com"); email.setSmtpPort(587); email.setAuthenticator(new DefaultAuthenticator("username", "password")); email.setTLS(true); email.setFrom("[email protected]"); email.setSubject("TestMail"); email.setMsg("This is a test mail ... :-)"); email.addTo("[email protected]"); email.send();
2、发送带附件的邮件:
import org.apache.commons.mail.*; ... // Create the attachment EmailAttachment attachment = new EmailAttachment(); attachment.setPath("mypictures/john.jpg"); attachment.setDisposition(EmailAttachment.ATTACHMENT); attachment.setDescription("Picture of John"); attachment.setName("John"); // Create the email message MultiPartEmail email = new MultiPartEmail(); email.setHostName("mail.myserver.com"); email.addTo("[email protected]", "John Doe"); email.setFrom("[email protected]", "Me"); email.setSubject("The picture"); email.setMsg("Here is the picture you wanted"); // add the attachment email.attach(attachment); // send the email email.send();
3、发送HTML格式的邮件:
import org.apache.commons.mail.HtmlEmail; ... // Create the email message HtmlEmail email = new HtmlEmail(); email.setHostName("mail.myserver.com"); email.addTo("[email protected]", "John Doe"); email.setFrom("[email protected]", "Me"); email.setSubject("Test email with inline image"); // embed the image and get the content id URL url = new URL("http://www.apache.org/images/asf_logo_wide.gif"); String cid = email.embed(url, "Apache logo"); // set the html message email.setHtmlMsg("The apache logo - "); // set the alternative message email.setTextMsg("Your email client does not support HTML messages"); // send the email email.send();
4、发送带图片的HTML邮件:
import org.apache.commons.mail.HtmlEmail; ... // load your HTML email template String htmlEmailTemplate = .... // Create the email message HtmlEmail email = new ImageHtmlEmail(); email.setHostName("mail.myserver.com"); email.addTo("[email protected]", "John Doe"); email.setFrom("[email protected]", "Me"); email.setSubject("Test email with inline image"); // embed the image and get the content id URL url = new URL("http://www.apache.org/images/asf_logo_wide.gif"); String cid = email.embed(url, "Apache logo"); // set the html message email.setHtmlMsg(htmlEmailTemplate, new File("").toURI().toURL(), false); // set the alternative message email.setTextMsg("Your email client does not support HTML messages"); // send the email email.send();
引用
commons email发送邮件用户指南: http://commons.apache.org/email/userguide.html