summaryrefslogtreecommitdiffstats
path: root/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/util/EmailUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/util/EmailUtils.java')
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/util/EmailUtils.java183
1 files changed, 183 insertions, 0 deletions
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/util/EmailUtils.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/util/EmailUtils.java
new file mode 100644
index 00000000..61ac90c2
--- /dev/null
+++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/util/EmailUtils.java
@@ -0,0 +1,183 @@
+/*
+ * ============LICENSE_START==========================================
+ * ONAP Portal SDK
+ * ===================================================================
+ * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+ * ===================================================================
+ *
+ * Unless otherwise specified, all software contained herein is licensed
+ * under the Apache License, Version 2.0 (the "License");
+ * you may not use this software except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Unless otherwise specified, all documentation contained herein is licensed
+ * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
+ * you may not use this documentation except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://creativecommons.org/licenses/by/4.0/
+ *
+ * Unless required by applicable law or agreed to in writing, documentation
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * ============LICENSE_END============================================
+ *
+ *
+ */
+package org.onap.portalsdk.analytics.util;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.mail.MessagingException;
+import javax.mail.internet.MimeMessage;
+
+import org.springframework.mail.javamail.JavaMailSenderImpl;
+import org.springframework.mail.javamail.MimeMessageHelper;
+import org.springframework.mail.javamail.MimeMessagePreparator;
+import org.onap.portalsdk.analytics.error.RaptorException;
+import org.onap.portalsdk.analytics.system.AppUtils;
+import org.onap.portalsdk.core.util.SystemProperties;
+import org.springframework.core.io.FileSystemResource;
+
+
+public class EmailUtils {
+
+ public EmailUtils(){
+ super();
+ mailSender = new JavaMailSenderImpl();
+ mailSender.setProtocol("smtp");
+ mailSender.setHost(SystemProperties.getProperty(SystemProperties.MAIL_SERVER_HOST));
+ mailSender.setPort(Integer.parseInt(SystemProperties.getProperty(SystemProperties.MAIL_SERVER_PORT)));
+ }
+
+ private JavaMailSenderImpl mailSender;
+
+ public void sendEmailWithAttachment(String subj, String mesg, String[] toList, String[] ccList, String[] filePathAndName) throws RaptorException {
+ String from = AppUtils.getDefaultEmailSender();
+ List<MailAttachment> mailAttachList = new ArrayList<MailAttachment>();
+
+ for (int i = 0; i < filePathAndName.length; i++) {
+ MailAttachment mailAttachment = new MailAttachment();
+ mailAttachment.setAttachmentType(MailAttachment.FILE_ATTACHMENT);
+
+ String fileName = filePathAndName[i].substring(filePathAndName[i].lastIndexOf("/") + 1);
+ mailAttachment.setFileName(fileName);
+ mailAttachment.setFilePathName(filePathAndName[i]);
+
+ mailAttachList.add(mailAttachment);
+ }
+
+ notifyWithAttachments(mesg, toList, from, subj, ccList, null, mailAttachList, true);
+
+ }
+
+ public void sendEmailNoAttachment(String subj, String mesg, String[] toList, String[] ccList) throws RaptorException{
+ String from = AppUtils.getDefaultEmailSender();
+ notify(mesg, toList, from, subj, ccList, null, true);
+ }
+
+
+ public void notify(String message, String to, String from, boolean contentTypeHtml) {
+ notify(message, to, from, null, null, null, contentTypeHtml);
+ }
+
+ public void notify(String message, String to, String from, String subject, boolean contentTypeHtml) {
+ notify(message, to, from, subject, null, null, contentTypeHtml);
+ }
+
+ public void notify(String message, String to, String from, String subject, String cc, String bcc, boolean contentTypeHtml) {
+ String[] toList = new String[1];
+ String[] ccList = null;
+ String[] bccList = null;
+ if (cc != null) {
+ ccList = new String[1];
+ ccList[0] = cc;
+ }
+ if (bcc != null) {
+ bccList = new String[1];
+ bccList[0] = bcc;
+ }
+ toList[0] = to;
+ notify(message, toList, from, subject, ccList, bccList, contentTypeHtml);
+ }
+
+ public void notify(String message, String[] to, String from, String subject, String[] cc, String[] bcc, boolean contentTypeHtml) {
+ final MimeMessagePreparator messagePreparator = getMessagePreparator(message, to, from, subject, cc, bcc, null, contentTypeHtml);
+ Thread mailerThread = new Thread() {
+ public void run() {
+ getMailSender().send(messagePreparator);
+ }
+ };
+ mailerThread.start();
+ }
+
+ public void notifyWithAttachments(String message, String[] to, String from, String subject, String[] cc,
+ String[] bcc, List mailAttachments, boolean contentTypeHtml) {
+ final MimeMessagePreparator messagePreparator = getMessagePreparator(message, to, from, subject, cc, bcc,
+ mailAttachments, contentTypeHtml);
+ Thread mailerThread = new Thread() {
+ public void run() {
+ getMailSender().send(messagePreparator);
+ }
+ };
+ mailerThread.start();
+ }
+
+ private static MimeMessagePreparator getMessagePreparator(final String message, final String[] to, final String from,
+ final String subject, final String[] cc, final String[] bcc, final List mailAttachments, final boolean contentTypeHtml) {
+ final MimeMessagePreparator messagePreparator = new MimeMessagePreparator() {
+ public void prepare(MimeMessage mimeMessage) throws MessagingException {
+ MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true, "UTF-8");
+ helper.setFrom(from);
+ helper.setTo(to);
+ helper.setText(message, contentTypeHtml);
+ if (subject != null) {
+ helper.setSubject(subject);
+ }
+ if (cc != null) {
+ System.out.println(cc);
+ helper.setCc(cc);
+ }
+ if (bcc != null) {
+ helper.setBcc(bcc);
+ }
+ if (mailAttachments != null && mailAttachments.size() > 0) {
+ for (int i = 0; i < mailAttachments.size(); i++) {
+ MailAttachment mailAttachment = (MailAttachment) mailAttachments.get(i);
+ if (mailAttachment.getAttachmentType() == MailAttachment.FILE_ATTACHMENT) {
+ helper.addAttachment(mailAttachment.getFileName(), new FileSystemResource(new File(mailAttachment
+ .getFilePathName())));
+ } else if (mailAttachment.getAttachmentType() == MailAttachment.INLINE_ATTACHMENT) {
+ helper.addInline(mailAttachment.getFileName(), new FileSystemResource(new File(mailAttachment
+ .getFilePathName())));
+ }
+ }
+ }
+ }
+ };
+ return messagePreparator;
+ }
+
+ public JavaMailSenderImpl getMailSender() {
+ return mailSender;
+ }
+
+ public void setMailSender(JavaMailSenderImpl mailSender) {
+ this.mailSender = mailSender;
+ }
+
+
+}