Subversion Repositories SmartDukaan

Rev

Blame | Last modification | View Log | RSS feed

package com.spice.profitmandi.common.services;

import org.springframework.core.io.InputStreamSource;
import org.springframework.mail.javamail.JavaMailSender;

import java.io.File;
import java.io.Serializable;
import java.util.List;
import java.util.Map;

public interface EmailService {

    void sendMailWithAttachments(
            JavaMailSender mailSender,
            String[] emailTo,
            String[] cc,
            String subject,
            String body
    ) throws Exception;

    void sendMailWithAttachments(
            JavaMailSender mailSender,
            String[] emailTo,
            String[] cc,
            String subject,
            String body,
            List<File> attachments
    ) throws Exception;


    void sendMailWithAttachments(
            JavaMailSender mailSender,
            String emailTo,
            String[] cc,
            String subject,
            String body,
            List<File> attachments
    ) throws Exception;

    void sendMailWithAttachment(
            JavaMailSender mailSender,
            String[] emailTo,
            String[] cc,
            String subject,
            String body,
            String fileName,
            InputStreamSource inputStreamSource
    ) throws Exception;

    void sendMailWithAttachments(
            JavaMailSender mailSender,
            String[] emailTo,
            String[] cc,
            String[] bcc,
            String subject,
            String body,
            boolean html,
            Attachment... attachments
    ) throws Exception;

    void sendHtmlMailWithAttachments(
            JavaMailSender mailSender,
            String[] emailTo,
            String[] cc,
            String subject,
            String body,
            Attachment... attachments
    ) throws Exception;

    void sendEmbeddedHtmlMail(
            JavaMailSender mailSender,
            String[] emailTo,
            String[] cc,
            String subject,
            String body,
            Map<? extends Serializable, File> inlineImages
    ) throws Exception;

    public static class Attachment {
        public Attachment(String fileName, InputStreamSource inputStreamSource) {
            this.fileName = fileName;
            this.inputStreamSource = inputStreamSource;
        }

        private String fileName;
        private InputStreamSource inputStreamSource;

        public String getFileName() {
            return fileName;
        }

        public void setFileName(String fileName) {
            this.fileName = fileName;
        }

        public InputStreamSource getInputStreamSource() {
            return inputStreamSource;
        }

        public void setInputStreamSource(InputStreamSource inputStreamSource) {
            this.inputStreamSource = inputStreamSource;
        }

        @Override
        public String toString() {
            return "Attachment [fileName=" + fileName + ", inputStreamSource=" + inputStreamSource + "]";
        }
    }
}