您的位置:首页 > 运维架构 > Apache

利用apache的Email发送邮件

2012-10-30 15:00 483 查看
利用apache的Email,可以快捷的实现邮件的发送。

它提供了如下几个类:

SimpleEmail -This class is used to send basic text based emails.(用于发送最基本的文本类型的邮件)
MultiPartEmail -This class is used to send multipart messages.This allows a text message with attachments either inline or attached.

(用于发送带附件的或者内嵌形式的邮件)

HtmlEmail -This class is used to send HTML formatted emails.It has all of the capabilities as MultiPartEmail allowing attachments to be easily added.It also supports embedded images.(用于发送HTML格式的邮件。完全的兼容MultiPartEmail,
易于添加附件,同时也支持内嵌图像)
EmailAttachment -This is a simple container class to allow for easy handling of attachments.It is for use with instances of MultiPartEmail and HtmlEmail.

(用于处理附件, 它被用做MultiPartEmail和HtmlEmail实例)

下面是具体实施步骤:

1. 首先从apache官网下载Email jar包: http://commons.apache.org/email/download_email.cgi
2. 解压commons-email-1.2-bin,将commons-email-1.2.jar引入到你的项目中,另外将mail.jar和activation.jar也添加进来,如果不添加的话会出现如下异常信息:

Exception in thread "main " java.lang.NoClassFoundError:javax.mail.Message

3.下面介绍一下HTML格式的邮件,此例子包含添加附件

//Create the attachment
EmailAttachment attachment = new EmailAttachment();
attachment.setURL(new URL("http://www.apache.org/images/asf_logo_wide.gif"));
attachment.setDisposition(EmailAttachment.ATTACHMENT);
attachment.setDescription("Apache logo");
attachment.setName("Apache logo");

//Create the mail message
HtmlEmail htmlEmail = new HtmlEmail();
htmlEmail.setHostName("180.120.200.130");//你的邮件服务器的地址
htmlEmail.setAuthentication("test", "123");//如果你的邮件服务器设置了密码,请输入密码,否则此语句可以忽略
htmlEmail.addTo("test@test.com", "test");//设置收件人,如果想添加多个收件人,将此语句多写几次即可。其中参数1,代表收件人邮件地址;
参数2,用于收件人收到邮件时看到的收件人姓名
htmlEmail.setFrom("test0@test0.com", "system test");//发件人

htmlEmail.setSubject("this is system test, do not reply!");
htmlEmail.setMsg("this is system test, do not reply!");

htmlEmail.setHtmlMsg(testEditor);//testEditor 变量包含html内容
htmlEmail.attach(attachment);//附件

htmlEmail.send();//发送邮件


注意:setMsg() 和setHtmlMsg()同时使用的话, setHtmlMsg()会覆盖掉setMsg()的内容。

(This method overrides MultiPartEmail.setMsg(String) in order to send an HTML message instead of a plain text message in the mail body. The message is formatted in HTML for the HTML part of the message; it is left as is in the
alternate text part.)

具体教程可以参考官网的: http://commons.apache.org/email/userguide.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: