一、目的
我们在实现邮件发送需求时,主要有两种方法,一种是通过HTML的<a>标签,一种是通过Java代码实现,这两种方法都很简单,网上有很多相关的博客资料,这里就不再赘叙了。但是,Liferay框架本身是支持邮件发送的。通过Liferay本身发送邮件,更便于系统的维护。
二、Liferay配置思路
首先,以Liferay管理员的身份登录到系统页面,进行Liferay的发件邮箱配置。
然后,在你写的,需要发送邮件的Portlet上,调用Liferay本身的发送邮件方法,从而实现邮件的发送。
三、Liferay发件邮箱配置
第一步:申请一个邮箱,这里使用的是新浪邮箱。
第二步:取消liferay原来的用户重置密码后,登录成功后要再次重置密码的设置。
以Liferay管理员的身份登录,在Liferay的首页,点击右上角管理下的控制面板。如图3-1红框中所示。
图3-1
在控制面板的页面中,如图3-2所示,点击进入密码政策中,密码政策在图3-2的红框中。
图3-2
在密码政策页面,点击图3-3中红框中的字段。
图3-3
将图3-4红框中的“要求更改”功能取消选中。并点击该页面最下方的“保存”按钮。
图3-4
第三步:设置邮件发送方名称和邮箱。
以Liferay管理员的身份登录,在Liferay的首页,点击右上角管理下的控制面板。如图3-5红框中所示。
图3-5
在控制面板页面,点击进入Portal设置,如图3-6中红框区域所示。
图3-6
在portal设置界面,如图3-7所示。首先,在界面右边的目录中,点击进入电子邮件通知,在电子邮件通知界面,设置邮件发送方名称和发送方邮件地址,邮件地址即第一步中,你申请的邮箱。设置完成后,点击界面右下方的保存按钮。
图3-7
第四步:前台显示分类信息,并提供“查看更多”链接到详细页面,并支持国际化
以Liferay管理员的身份登录,在Liferay的首页,点击右上角管理下的控制面板。如图3-8红框中所示。
图3-8
在控制面板页面,点击进入服务器管理,如图3-9中红框区域所示。
图3-9
在服务器管理界面,如图3-10所示,进入到红框的邮件界面。
图3-10
在邮件界面,配置发送邮箱的相关信息,如图3-11所示。填写图3-11中红框部分的内容,现在这里填写的是配置新浪邮箱相关的信息,不同的邮箱,配置信息是不一样的,请自行百度。
图3-11
注意:图3-11的用户名为去除邮箱后缀的用户名,如邮箱名为:test@sina.com,则这里的用户名为test
博客原创地址:http://blog.csdn.net/mooncom
四、Portlet调用Liferay方法
代码如下:
public voidsendEmail(ActionRequest request,ActionResponseresponse){
//邮件接收方邮箱
InternetAddressto = null;
try {
to = new InternetAddress("xuyong199312@sina.com");
}catch(AddressExceptione1){
// TODO Auto-generated catch block
e1.printStackTrace();
}
//邮件发送方邮箱
InternetAddressfrom = null;
try {
from = new InternetAddress("cofc2016@sina.com");
}catch(AddressExceptione){
// TODO Auto-generated catch block
e.printStackTrace();
}
//邮件主题
Stringsubject="Liferay邮件测试";
//邮件信息
Stringbody="测试信息,发送邮件时使用,徐勇提供";
//调用Liferay方法
MailMessagemessage = new MailMessage(
from, to, subject, body, true);
MailServiceUtil.sendEmail(message);
}
注意:邮件发送方邮箱必须和三、Liferay发送邮箱配置中配置的邮箱一样。
注意:如果你liferay工程的环境(window或Linux),具有外网权限,那么没有你仅需要按照上面的步骤进行配置即可;
如果你的liferay环境发布在局域网,那么你需要开通服务环境的对外邮箱访问端口的权限,具体操作可参考本人的另一篇博客——
Linux上的服务器无法调用新浪邮箱发送邮件