1
22
23 package com.liferay.portlet.sms;
24
25 import com.liferay.mail.service.MailServiceUtil;
26 import com.liferay.portal.kernel.mail.MailMessage;
27 import com.liferay.portal.kernel.servlet.SessionErrors;
28 import com.liferay.portal.kernel.servlet.SessionMessages;
29 import com.liferay.portal.kernel.util.Constants;
30 import com.liferay.portal.kernel.util.ParamUtil;
31 import com.liferay.portal.kernel.util.StringPool;
32 import com.liferay.portal.kernel.util.Validator;
33 import com.liferay.portal.model.User;
34 import com.liferay.portal.util.PortalUtil;
35 import com.liferay.util.bridges.mvc.MVCPortlet;
36
37 import javax.mail.internet.InternetAddress;
38
39 import javax.portlet.ActionRequest;
40 import javax.portlet.ActionResponse;
41 import javax.portlet.PortletException;
42
43
49 public class SMSPortlet extends MVCPortlet {
50
51 public void processAction(
52 ActionRequest actionRequest, ActionResponse actionResponse)
53 throws PortletException {
54
55 try {
56 String cmd = ParamUtil.getString(actionRequest, Constants.CMD);
57
58 if (cmd.equals(Constants.SEND)) {
59 String to = actionRequest.getParameter("to");
60 String subject = ParamUtil.getString(actionRequest, "subject");
61 String message = ParamUtil.getString(actionRequest, "message");
62
63 if (!Validator.isEmailAddress(to)) {
64 SessionErrors.add(actionRequest, "to");
65 }
66 else if (message.length() > 500) {
67 SessionErrors.add(actionRequest, "message");
68 }
69
70 if (SessionErrors.isEmpty(actionRequest)) {
71 User user = PortalUtil.getUser(actionRequest);
72
73 MailServiceUtil.sendEmail(new MailMessage(
74 new InternetAddress(
75 user.getEmailAddress(), user.getFullName()),
76 new InternetAddress(to), subject, message, false));
77
78 actionResponse.setRenderParameter("to", StringPool.BLANK);
79 actionResponse.setRenderParameter(
80 "subject", StringPool.BLANK);
81 actionResponse.setRenderParameter(
82 "message", StringPool.BLANK);
83
84 SessionMessages.add(
85 actionRequest,
86 getPortletConfig().getPortletName() + ".send", to);
87 }
88 else {
89 actionResponse.setRenderParameter("to", to);
90 actionResponse.setRenderParameter("subject", subject);
91 actionResponse.setRenderParameter("message", message);
92 }
93 }
94 }
95 catch (Exception e) {
96 throw new PortletException(e);
97 }
98 }
99
100 }