使用apache的common-mail.jar包发邮件,省去了很多的工作!
下面是例子:
import java.net.MalformedURLException;
import java.net.URL;
import org.apache.commons.mail.Email;
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
import org.apache.commons.mail.MultiPartEmail;
import org.apache.commons.mail.SimpleEmail;
public class sendMail {
public static void main(String[] args) throws EmailException, MalformedURLException {
sendMail s = new sendMail();
s.sendSimpleEmail();
s.sendMultiPartEmail();
s.sendHtmlEmail();
}
@SuppressWarnings("unused")
private void sendSimpleEmail() throws EmailException {
SimpleEmail email = (SimpleEmail)getEmail("SimpleEmail");
email.send();// 发送
}
@SuppressWarnings("unused")
private void sendMultiPartEmail() throws EmailException, MalformedURLException {
EmailAttachment attachment = new EmailAttachment();
//attachment.setPath("mypictures/john.jpg");
attachment.setURL(new URL("http://www.apache.org/images/asf_logo_wide.gif"));
attachment.setDisposition(EmailAttachment.ATTACHMENT);
attachment.setDescription("Picture of John");
attachment.setName("John");
// Create the email message
MultiPartEmail email = (MultiPartEmail)getEmail("MultiPartEmail");
// add the attachment
email.attach(attachment);
// send the email
email.send();
}
@SuppressWarnings("unused")
private void sendHtmlEmail() throws EmailException, MalformedURLException {
// Create the email message
HtmlEmail email = (HtmlEmail)getEmail("HtmlEmail");
// 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("<html>The apache logo - <img src=/"cid:" + cid
+ "/"></html>");
// set the alternative message
email.setTextMsg("Your email client does not support HTML messages");
// send the email
email.send();
}
@SuppressWarnings("unused")
private Email getEmail(String etype) throws EmailException {
Email email = null;
if ("HtmlEmail".equals(etype)) {
email = new HtmlEmail();
email.setHostName("××××");
email.addTo("××××", "兔子");// 收信者
email.setFrom("×××××", "猫咪");// 发信者
email.setSubject("Test email with inline image");
}else if("MultiPartEmail".equals(etype)){
email = new MultiPartEmail();
email.setHostName("××××××");
email.addTo("×××××", "兔子");// 收信者
email.setFrom("×××××", "猫咪");// 发信者
email.setSubject("The picture");
email.setMsg("Here is the picture you wanted");
}else{
email = new SimpleEmail();
email.setHostName("×××××");// 邮件服务器
email.setAuthentication("×××××", "×××××");// smtp认证的用户名和密码
email.addTo("×××××", "兔子");// 收信者
email.setFrom("×××××", "猫咪");// 发信者
email.setSubject("猫咪的测试邮件");// 标题
email.setCharset("UTF-8");// 编码格式
email.setMsg("这是一封猫咪的测试邮件");// 内容
}
return email;
}
}