Subversion Repositories bacoAlunos

Rev

Rev 1310 | Rev 1427 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1310 Rev 1426
Line 1... Line 1...
1
package pt.estgp.estgweb.utils;
1
package pt.estgp.estgweb.utils;
2
 
2
 
-
 
3
import org.apache.log4j.Logger;
3
import jomm.utils.TemplateUtils;
4
import pt.estgp.estgweb.Globals;
-
 
5
import pt.estgp.estgweb.services.email.SendEmailService;
4
 
6
 
5
import javax.mail.*;
7
import javax.mail.Message;
6
import javax.mail.internet.MimeMessage;
-
 
7
import javax.mail.internet.InternetAddress;
-
 
8
import java.util.Properties;
8
import java.io.Serializable;
9
import java.util.List;
-
 
10
import java.util.ArrayList;
9
import java.util.ArrayList;
11
import java.util.regex.Pattern;
10
import java.util.List;
12
import java.util.regex.Matcher;
11
import java.util.regex.Matcher;
13
import java.text.MessageFormat;
-
 
14
import java.io.Serializable;
12
import java.util.regex.Pattern;
15
 
-
 
16
import pt.estgp.estgweb.Globals;
-
 
17
 
13
 
18
/**
14
/**
19
 * @author Jorge Machado
15
 * @author Jorge Machado
20
 * @date 20/Mar/2008
16
 * @date 20/Mar/2008
21
 * @time 18:32:21
17
 * @time 18:32:21
Line 23... Line 19...
23
 */
19
 */
24
public class Email implements 1.5.0/docs/api/java/io/Serializable.html">Serializable
20
public class Email implements 1.5.0/docs/api/java/io/Serializable.html">Serializable
25
{
21
{
26
 
22
 
27
 
23
 
-
 
24
    private static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger = 1.5.0/docs/api/java/util/logging/Logger.html">Logger.getLogger(Email.class);
-
 
25
 
-
 
26
    private boolean systemAssumingTestEmail = false;
28
    private boolean isHtml = false;
27
    private boolean isHtml = false;
29
    private 1.5.0/docs/api/java/lang/String.html">String subject;
28
    private 1.5.0/docs/api/java/lang/String.html">String subject;
30
    private List<String> recipients;
29
    private List<String> recipients;
31
    private Message.RecipientType type = Message.RecipientType.TO;
30
    private Message.RecipientType type = Message.RecipientType.TO;
32
    private 1.5.0/docs/api/java/lang/String.html">String from;
31
    private 1.5.0/docs/api/java/lang/String.html">String from;
Line 44... Line 43...
44
    }
43
    }
45
 
44
 
46
    public Email(1.5.0/docs/api/java/lang/String.html">String subject, List<String> recipients, 1.5.0/docs/api/java/lang/String.html">String from, 1.5.0/docs/api/java/lang/String.html">String mailTemplateName, List<String> arguments)
45
    public Email(1.5.0/docs/api/java/lang/String.html">String subject, List<String> recipients, 1.5.0/docs/api/java/lang/String.html">String from, 1.5.0/docs/api/java/lang/String.html">String mailTemplateName, List<String> arguments)
47
    {
46
    {
48
        this.subject = subject;
47
        this.subject = subject;
49
        this.recipients = recipients;
48
        this.recipients = filterRecipients(recipients, arguments, mailTemplateName);;
50
        this.from = from;
49
        this.from = from;
51
        this.emailTemplateName = mailTemplateName;
50
        this.emailTemplateName = mailTemplateName;
52
        this.arguments = arguments;
51
        this.arguments = arguments;
53
    }
52
    }
54
 
53
 
55
    public Email(1.5.0/docs/api/java/lang/String.html">String subject, List<String> recipients, 1.5.0/docs/api/java/lang/String.html">String from, 1.5.0/docs/api/java/lang/String.html">String mailTemplateName, List<String> arguments, Message.RecipientType type)
54
    public Email(1.5.0/docs/api/java/lang/String.html">String subject, List<String> recipients, 1.5.0/docs/api/java/lang/String.html">String from, 1.5.0/docs/api/java/lang/String.html">String mailTemplateName, List<String> arguments, Message.RecipientType type)
56
    {
55
    {
57
        this.type = type;
56
        this.type = type;
58
        this.subject = subject;
57
        this.subject = subject;
59
        this.recipients = recipients;
58
        this.recipients = filterRecipients(recipients, arguments, mailTemplateName);
60
        this.from = from;
59
        this.from = from;
61
        this.emailTemplateName = mailTemplateName;
60
        this.emailTemplateName = mailTemplateName;
62
        this.arguments = arguments;
61
        this.arguments = arguments;
-
 
62
 
-
 
63
 
-
 
64
    }
-
 
65
 
-
 
66
    private List<String> filterRecipients(List<String> recipients,List<String> arguments,1.5.0/docs/api/java/lang/String.html">String template)
-
 
67
    {
-
 
68
        if(Globals.TEST_ENVIRONEMENT)
-
 
69
        {
-
 
70
            systemAssumingTestEmail = true;
-
 
71
            logger.info("SISTEMA EM MODO DE TESTES, iria enviar email para os seguintes recipientes:");
-
 
72
            1.5.0/docs/api/java/lang/System.html">System.out.println(recipients);
-
 
73
            logger.info("Mensagem que ia ser enviada:");
-
 
74
            logger.info(SendEmailService.getEmailTextMessage(template, arguments));
-
 
75
            logger.info("SISTEMA EM MODO DE TESTES: Vai enviar apenas para o mail de testes");
-
 
76
            recipients = new ArrayList<String>();
-
 
77
            recipients.add(Globals.ADMIN_EMAIL);
-
 
78
        }
-
 
79
        return recipients;
-
 
80
    }
-
 
81
    private List<String> filterRecipients(List<String> recipients)
-
 
82
    {
-
 
83
        if(Globals.TEST_ENVIRONEMENT)
-
 
84
        {
-
 
85
            systemAssumingTestEmail = true;
-
 
86
            logger.info("SISTEMA EM MODO DE TESTES, iria enviar email para os seguintes recipientes:");
-
 
87
            1.5.0/docs/api/java/lang/System.html">System.out.println(recipients);
-
 
88
            logger.info("Nao se sabe a Mensagem que ia ser enviada");
-
 
89
            logger.info("SISTEMA EM MODO DE TESTES: Vai enviar apenas para o mail de testes");
-
 
90
            recipients = new ArrayList<String>();
-
 
91
            recipients.add(Globals.ADMIN_EMAIL);
-
 
92
        }
-
 
93
        return recipients;
-
 
94
    }
-
 
95
 
-
 
96
    public boolean isSystemAssumingTestEmail() {
-
 
97
        return systemAssumingTestEmail;
63
    }
98
    }
64
 
99
 
65
    public 1.5.0/docs/api/java/lang/String.html">String getFromName() {
100
    public 1.5.0/docs/api/java/lang/String.html">String getFromName() {
66
        return fromName;
101
        return fromName;
67
    }
102
    }
Line 80... Line 115...
80
        return recipients;
115
        return recipients;
81
    }
116
    }
82
 
117
 
83
    public void setRecipients(List<String> recipients)
118
    public void setRecipients(List<String> recipients)
84
    {
119
    {
-
 
120
        systemAssumingTestEmail = true;//ja nao estao sobre
85
        this.recipients = recipients;
121
        this.recipients = filterRecipients(recipients);
-
 
122
 
86
    }
123
    }
87
 
124
 
88
    public 1.5.0/docs/api/java/lang/String.html">String getFrom()
125
    public 1.5.0/docs/api/java/lang/String.html">String getFrom()
89
    {
126
    {
90
        return from;
127
        return from;