MailMessage.java 2.59 KB
package fi.insomnia.bortal.util;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;

import javax.mail.internet.InternetAddress;

import fi.insomnia.bortal.model.User;

public class MailMessage implements Serializable {
    /**
     * 
     */
    private static final long serialVersionUID = -4769468394850407107L;

    private static final String DEFAULT_MAIL_CHARSET = "iso-8859-1";

    private String subject;
    private String fromName = "Insomnia lippukauppa";
    private String fromAddress = "info@insomnia.fi";
    private String toName;
    private String toAddress;
    private String message;
    private String charset = DEFAULT_MAIL_CHARSET;

    public InternetAddress getTo() throws UnsupportedEncodingException {
        return new InternetAddress(toAddress, toName, getCharset());
    }

    public InternetAddress getFrom() throws UnsupportedEncodingException {
        return new InternetAddress(fromAddress, fromName, getCharset());
    }

    public String getSubject() {
        return subject;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }

    public String getFromName() {
        return fromName;
    }

    public void setFromName(String fromName) {
        this.fromName = fromName;
    }

    public String getFromAddress() {
        return fromAddress;
    }

    public void setFromAddress(String fromAddress) {
        this.fromAddress = fromAddress;
    }

    public String getToName() {
        return toName;
    }

    public void setToName(String toName) {
        this.toName = toName;
    }

    public String getToAddress() {
        return toAddress;
    }

    public void setToAddress(String toAddress) {
        this.toAddress = toAddress;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(Object... msgpart) {
        StringBuilder msg = new StringBuilder();
        for (Object o : msgpart) {
            msg.append(o);
        }
        message = msg.toString();
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public static String getDefaultMailCharset() {
        return DEFAULT_MAIL_CHARSET;
    }

    public void setCharset(String charset) {
        this.charset = charset;
    }

    public String getCharset() {
        return charset;
    }

    public void setTo(User user) {
        setToName(user.getWholeName());
        setToAddress(user.getEmail());

    }

    @Override
    public String toString() {
        return new StringBuilder("fi.insomnia.bortal.util.MailMessage[to=").append(toAddress).append("]").toString();
    }
}