All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.clickntap.tool.mail.Mailer Maven / Gradle / Ivy

There is a newer version: 1.30
Show newest version
package com.clickntap.tool.mail;

import com.clickntap.tool.script.ScriptEngine;
import com.clickntap.utils.ConstUtils;

import java.util.Map;

public class Mailer {

    private String from;
    private String host;
    private String port;
    private String username;
    private String password;
    private Boolean startTtl;
    private ScriptEngine scriptEngine;

    public Boolean getStartTtl() {
        return startTtl;
    }

    public void setStartTtl(Boolean startTtl) {
        this.startTtl = startTtl;
    }

    public void setFrom(String from) {
        this.from = from;
    }

    public void setHost(String host) {
        this.host = host;
    }

    public void setPort(String port) {
        this.port = port;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public void setScriptEngine(ScriptEngine scriptEngine) {
        this.scriptEngine = scriptEngine;
    }

    public Mail newMail(String key, boolean starttl) {
        Mail mail = new Mail(starttl);
        mail.setKey(key);
        mail.setFrom(from);
        mail.setHost(host);
        mail.setPort(port);
        mail.setUsername(username);
        mail.setPassword(password);
        return mail;
    }

    public Mail newMail(String key) {
        return newMail(key, getStartTtl());
    }

    public void setup(Mail mail, Map ctx) throws Exception {
        setSubject(mail, ctx);
        setPlainBody(mail, ctx);
        setHtmlBody(mail, ctx);
    }

    public void setSubject(Mail mail, Map ctx) throws Exception {
        mail.setSubject(scriptEngine.eval(ctx, "mail." + mail.getKey() + ".subject.txt"));
    }

    public void setHtmlBody(Mail mail, Map ctx) throws Exception {
        mail.addBody(scriptEngine.eval(ctx, "mail." + mail.getKey() + ".htm"), ConstUtils.TEXT_HTML_CONTENT_TYPE);
    }

    public void setPlainBody(Mail mail, Map ctx) throws Exception {
        mail.addBody(scriptEngine.eval(ctx, "mail." + mail.getKey() + ".txt"), ConstUtils.TEXT_PLAIN_CONTENT_TYPE);
    }

    public void sendmail(Mail mail) throws Exception {
        mail.sendAsynchronous();
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy