Subversion Repositories bacoAlunos

Rev

Rev 813 | Rev 929 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
29 jmachado 1
package pt.estgp.estgweb.services.email;
2
 
236 jmachado 3
import jomm.utils.TemplateUtils;
4
import org.apache.log4j.Logger;
5
import pt.estgp.estgweb.Globals;
751 jmachado 6
import pt.estgp.estgweb.utils.ConfigProperties;
358 jmachado 7
import pt.estgp.estgweb.web.utils.DatesUtils;
236 jmachado 8
import pt.estgp.estgweb.services.expceptions.ServiceException;
9
import pt.estgp.estgweb.domain.enums.LangEnum;
363 jmachado 10
import pt.estgp.estgweb.domain.*;
236 jmachado 11
import pt.estgp.estgweb.utils.Email;
12
import pt.utl.ist.berserk.logic.serviceManager.IService;
13
 
14
import javax.mail.MessagingException;
15
import javax.mail.Session;
16
import javax.mail.Message;
17
import javax.mail.Transport;
18
import javax.mail.internet.MimeMessage;
19
import javax.mail.internet.InternetAddress;
872 jmachado 20
import java.io.UnsupportedEncodingException;
236 jmachado 21
import java.util.ArrayList;
29 jmachado 22
import java.util.List;
236 jmachado 23
import java.util.Properties;
440 jmachado 24
import java.util.Date;
236 jmachado 25
import java.text.MessageFormat;
29 jmachado 26
 
27
/**
28
 * @author Jorge Machado
29
 * @date 20/Mar/2008
30
 * @time 18:31:00
31
 * @see pt.estgp.estgweb.services.email
32
 */
236 jmachado 33
public class SendEmailService implements IService
29 jmachado 34
{
236 jmachado 35
    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(SendEmailService.class);
36
 
37
    private static final 1.5.0/docs/api/java/lang/String.html">String gradeUnitTemplate = Globals.TEMPLATE_EMAIL_PATH + "/" + Globals.EMAIL_GRADE_UNIT_TEMPLATE;
38
 
39
    public void sendEmail(Email email) throws ServiceException
29 jmachado 40
    {
236 jmachado 41
        try{
42
 
43
            // Set up properties for mail session
44
            1.5.0/docs/api/java/util/Properties.html">Properties props = 1.5.0/docs/api/java/lang/System.html">System.getProperties();
45
            props.put("mail.smtp.host", Globals.EMAIL_SERVER_HOST);
46
 
47
            // Get session
48
            Session session = Session.getDefaultInstance(props, null);
49
 
50
            // Create message
51
            MimeMessage message = new MimeMessage(session);
52
            // Set the recipients of the message
298 jmachado 53
            boolean valid = false;
54
            for (1.5.0/docs/api/java/lang/String.html">String recipient : email.getRecipients())
55
            {
56
                if(Email.validEmail(recipient))
57
                {
58
                    valid=true;
419 jmachado 59
                    message.addRecipient(email.getType(),new InternetAddress(recipient));
811 jmachado 60
                    logger.info("Adding recipient to transport:"+recipient);
298 jmachado 61
                }
236 jmachado 62
            }
298 jmachado 63
            if(valid)
64
            {
811 jmachado 65
 
298 jmachado 66
                1.5.0/docs/api/java/lang/String.html">String content = TemplateUtils.getOrLoadTemplate(Globals.TEMPLATE_EMAIL_PATH + "/" + email.getEmailTemplateName());
67
                // Format the mail message
68
                1.5.0/docs/api/java/lang/String.html">String fullMessage = 1.5.0/docs/api/java/text/MessageFormat.html">MessageFormat.format(content, email.getArguments().toArray());
236 jmachado 69
 
813 jmachado 70
                logger.info("FROM:" + email.getFrom());
872 jmachado 71
                if(email.getFromName() != null)
72
                    try {
73
                        message.setFrom(new InternetAddress(email.getFrom(),email.getFromName()));
74
                    } catch (1.5.0/docs/api/java/io/UnsupportedEncodingException.html">UnsupportedEncodingException e) {
75
                        logger.error(e,e);
76
                        message.setFrom(new InternetAddress(email.getFrom()));
77
                    }
78
                else
79
                    message.setFrom(new InternetAddress(email.getFrom()));
298 jmachado 80
                message.setSubject(email.getSubject());
492 jmachado 81
                message.setText(fullMessage,"utf-8");
236 jmachado 82
 
490 jmachado 83
 
512 jmachado 84
                if(email.isHtml())
85
                    message.setHeader("Content-Type","text/html; charset=\"utf-8\"");
86
                else
87
                    message.setHeader("Content-Type","text/plain; charset=\"utf-8\"");
490 jmachado 88
                message.setHeader("Content-Transfer-Encoding", "quoted-printable");
811 jmachado 89
                logger.info("Sending email to transport:"+fullMessage);
492 jmachado 90
 
811 jmachado 91
 
298 jmachado 92
                Transport.send(message);
93
            }
236 jmachado 94
        }
95
        catch(MessagingException e)
96
        {
97
            logger.error(e,e);
98
            throw new ServiceException(e.toString());
99
        }
29 jmachado 100
    }
236 jmachado 101
 
102
    public Email getSendUrlToFriendEmail(1.5.0/docs/api/java/lang/String.html">String url, 1.5.0/docs/api/java/lang/String.html">String from, LangEnum langEnum, List<String> recipients)
103
    {
104
        List<String> arguments = new ArrayList<String>();
105
        arguments.add(from);
106
        arguments.add(url);
107
        1.5.0/docs/api/java/lang/String.html">String subjectTxt;
108
        1.5.0/docs/api/java/lang/String.html">String template;
109
 
110
        if(langEnum == LangEnum.PORTUGUESE)
111
        {
112
            template = Globals.EMAIL_SEND_URL_FRIEND_TEMPLATE_PT;
237 jmachado 113
            subjectTxt = Globals.EMAIL_SEND_URL_FRIEND_SUBJECT_PT;
236 jmachado 114
        }
115
        else
116
        {
117
            template = Globals.EMAIL_SEND_URL_FRIEND_TEMPLATE_EN;
237 jmachado 118
            subjectTxt = Globals.EMAIL_SEND_URL_FRIEND_SUBJECT_EN;
236 jmachado 119
        }
120
 
121
        1.5.0/docs/api/java/lang/String.html">String subject = java.text.1.5.0/docs/api/java/text/MessageFormat.html">MessageFormat.format(subjectTxt,new 1.5.0/docs/api/java/lang/String.html">String[]{from});
122
        return new Email(subject ,recipients, Globals.SYSTEM_EMAIL_BOX,template,arguments);
123
    }
124
 
125
    public boolean sendUrlToFriend(1.5.0/docs/api/java/lang/String.html">String url, 1.5.0/docs/api/java/lang/String.html">String from, LangEnum langEnum, List<String> recipients)
126
    {
127
        try
128
        {
129
            sendEmail(getSendUrlToFriendEmail(url,from,langEnum,recipients));
130
            return true;
131
        }
132
        catch (ServiceException e)
133
        {
134
            return false;
135
        }
136
    }
137
 
237 jmachado 138
    public boolean sendCourseUnitAnnouncement(CourseUnitAnnouncement announcement, LangEnum langEnum, 1.5.0/docs/api/java/lang/String.html">String from,  List<User> users)
139
    {
140
        try
141
        {
142
            sendEmail(getCourseUnitAnnouncementEmail(announcement,langEnum,from,users));
143
            return true;
144
        }
145
        catch (ServiceException e)
146
        {
147
            return false;
148
        }
149
    }
236 jmachado 150
 
512 jmachado 151
    public Email getMessageEmail(1.5.0/docs/api/java/lang/String.html">String from, 1.5.0/docs/api/java/lang/String.html">String subject,1.5.0/docs/api/java/lang/String.html">String text, LangEnum langEnum, 1.5.0/docs/api/java/lang/String.html">String target, List<User> users, User user)
152
    {
153
//        # 0 : From
154
//        # 1 : Subject
155
//        # 2 : Text
156
//        # 3 : person
157
//        # 4 : target
158
        List<String> arguments = new ArrayList<String>();
159
        arguments.add(from);
160
        arguments.add(subject);
161
        arguments.add(text);
162
        arguments.add(user.getName());
163
        arguments.add(target);
164
 
165
        1.5.0/docs/api/java/lang/String.html">String template;
166
 
167
        if(langEnum == LangEnum.PORTUGUESE)
168
        {
169
            template = Globals.EMAIL_MESSAGE_TEMPLATE_PT;
170
        }
171
        else
172
        {
173
            template = Globals.EMAIL_MESSAGE_TEMPLATE_EN;
174
        }
175
 
176
        List<String> recipients = new ArrayList<String>();
177
        for(User u: users)
178
        {
179
            if(Email.validEmail(u.getEmail()))
180
                recipients.add(u.getEmail());
181
            if(Email.validEmail(u.getOutEmail()))
182
                recipients.add(u.getOutEmail());
183
        }
810 jmachado 184
        logger.info("subject: " + subject);
185
        logger.info("user: " + user.getEmail());
186
        logger.info("template: " + template);
187
        logger.info("arguments:");
188
        for(1.5.0/docs/api/java/lang/String.html">String arg: arguments)
189
            logger.info(arg);
190
        logger.info("recipients:");
191
        for(1.5.0/docs/api/java/lang/String.html">String rec: recipients)
192
            logger.info(rec);
193
        logger.info("arguments end");
872 jmachado 194
        Email email = new Email(subject ,recipients,user.getEmail(),template,arguments,Message.RecipientType.BCC);
195
        email.setFromName(from + " (ESTG)");
196
        return email;
512 jmachado 197
    }
198
 
237 jmachado 199
    public Email getCourseUnitAnnouncementEmail(CourseUnitAnnouncement announcement, LangEnum langEnum, 1.5.0/docs/api/java/lang/String.html">String from,  List<User> users)
200
    {
201
        List<String> arguments = new ArrayList<String>();
202
        arguments.add(announcement.getCourseUnit().getName());
203
        arguments.add(announcement.getTitle());
204
        arguments.add(announcement.getText());
205
        arguments.add(from);
206
 
207
        1.5.0/docs/api/java/lang/String.html">String subjectTxt;
208
        1.5.0/docs/api/java/lang/String.html">String template;
209
 
210
        if(langEnum == LangEnum.PORTUGUESE)
211
        {
212
            template = Globals.EMAIL_COURSEUNIT_ANNOUNCEMENT_TEMPLATE_PT;
213
            subjectTxt = Globals.EMAIL_COURSEUNIT_ANNOUNCEMENT_SUBJECT_PT;
214
        }
215
        else
216
        {
217
            template = Globals.EMAIL_COURSEUNIT_ANNOUNCEMENT_TEMPLATE_EN;
218
            subjectTxt = Globals.EMAIL_COURSEUNIT_ANNOUNCEMENT_SUBJECT_EN;
219
        }
220
 
221
        List<String> recipients = new ArrayList<String>();
222
        for(User u: users)
223
        {
298 jmachado 224
            if(Email.validEmail(u.getEmail()))
225
                recipients.add(u.getEmail());
419 jmachado 226
            if(Email.validEmail(u.getOutEmail()))
227
                recipients.add(u.getOutEmail());
237 jmachado 228
        }
229
 
230
        1.5.0/docs/api/java/lang/String.html">String subject = java.text.1.5.0/docs/api/java/text/MessageFormat.html">MessageFormat.format(subjectTxt,new 1.5.0/docs/api/java/lang/String.html">String[]{announcement.getCourseUnit().getNormalizedName(),announcement.getTitle()});
419 jmachado 231
        1.5.0/docs/api/java/lang/String.html">String fromEmail = Globals.SYSTEM_EMAIL_BOX;
232
        if(announcement.getOwner() != null && Email.validEmail(announcement.getOwner().getEmail()))
233
            fromEmail = announcement.getOwner().getEmail();
234
        return new Email(subject ,recipients,fromEmail,template,arguments,Message.RecipientType.BCC);
237 jmachado 235
    }
236
 
363 jmachado 237
    public Email getCourseUnitBlogPostEmail(BlogPost post, LangEnum langEnum, 1.5.0/docs/api/java/lang/String.html">String from,  List<User> users)
238
    {
239
        List<String> arguments = new ArrayList<String>();
240
        arguments.add(((CourseUnitBlog)post.getBlog()).getCourseUnit().getName());
241
        arguments.add(post.getTitle());
242
        arguments.add(post.getText());
243
        arguments.add(from);
237 jmachado 244
 
363 jmachado 245
        1.5.0/docs/api/java/lang/String.html">String subjectTxt;
246
        1.5.0/docs/api/java/lang/String.html">String template;
247
 
248
        if(langEnum == LangEnum.PORTUGUESE)
249
        {
250
            template = Globals.EMAIL_COURSEUNIT_BLOGPOST_TEMPLATE_PT;
251
            subjectTxt = Globals.EMAIL_COURSEUNIT_BLOGPOST_SUBJECT_PT;
252
        }
253
        else
254
        {
255
            template = Globals.EMAIL_COURSEUNIT_BLOGPOST_TEMPLATE_EN;
256
            subjectTxt = Globals.EMAIL_COURSEUNIT_BLOGPOST_SUBJECT_EN;
257
        }
258
 
259
        List<String> recipients = new ArrayList<String>();
260
        for(User u: users)
261
        {
262
            if(Email.validEmail(u.getEmail()))
263
                recipients.add(u.getEmail());
419 jmachado 264
            if(Email.validEmail(u.getOutEmail()))
265
                recipients.add(u.getOutEmail());
363 jmachado 266
        }
267
 
268
        1.5.0/docs/api/java/lang/String.html">String subject = java.text.1.5.0/docs/api/java/text/MessageFormat.html">MessageFormat.format(subjectTxt,new 1.5.0/docs/api/java/lang/String.html">String[]{((CourseUnitBlog)post.getBlog()).getCourseUnit().getNormalizedName(),post.getTitle()});
419 jmachado 269
        1.5.0/docs/api/java/lang/String.html">String fromEmail = Globals.SYSTEM_EMAIL_BOX;
270
        if(post.getOwner() != null && Email.validEmail(post.getOwner().getEmail()))
271
            fromEmail = post.getOwner().getEmail();
272
        return new Email(subject ,recipients, fromEmail, template,arguments,Message.RecipientType.BCC);
363 jmachado 273
    }
274
 
440 jmachado 275
    public Email getCourseUnitWorkEmail(CourseUnitAssignement assignement, LangEnum langEnum, UserSession userSession,  List<User> users, boolean newWork)
419 jmachado 276
    {
277
        List<String> arguments = new ArrayList<String>();
278
        arguments.add(assignement.getCourseUnit().getName());
279
        arguments.add(assignement.getTitle());
280
        arguments.add(assignement.getDescription());
440 jmachado 281
 
419 jmachado 282
        if(userSession != null && userSession.getName() != null)
283
            arguments.add(userSession.getName());
284
        else
285
            arguments.add("unknown");
363 jmachado 286
 
440 jmachado 287
        arguments.add( DatesUtils.getStringFromDate(assignement.getDeliverDate()));
492 jmachado 288
 
419 jmachado 289
        1.5.0/docs/api/java/lang/String.html">String subjectTxt;
290
        1.5.0/docs/api/java/lang/String.html">String template;
291
 
292
        if(langEnum == LangEnum.PORTUGUESE)
293
        {
440 jmachado 294
            if(newWork)
295
                template = Globals.EMAIL_COURSEUNIT_WORK_TEMPLATE_PT;
296
            else
297
                template = Globals.EMAIL_COURSEUNIT_WORK_CHANGE_TEMPLATE_PT;
419 jmachado 298
            subjectTxt = Globals.EMAIL_COURSEUNIT_WORK_SUBJECT_PT;
299
        }
300
        else
301
        {
440 jmachado 302
            if(newWork)
303
                template = Globals.EMAIL_COURSEUNIT_WORK_TEMPLATE_EN;
304
            else
305
                template = Globals.EMAIL_COURSEUNIT_WORK_CHANGE_TEMPLATE_EN;
419 jmachado 306
            subjectTxt = Globals.EMAIL_COURSEUNIT_WORK_SUBJECT_EN;
307
        }
308
 
309
        List<String> recipients = new ArrayList<String>();
310
        for(User u: users)
311
        {
312
            if(Email.validEmail(u.getEmail()))
313
                recipients.add(u.getEmail());
314
            if(Email.validEmail(u.getOutEmail()))
315
                recipients.add(u.getOutEmail());
316
        }
317
 
318
        1.5.0/docs/api/java/lang/String.html">String subject = java.text.1.5.0/docs/api/java/text/MessageFormat.html">MessageFormat.format(subjectTxt,new 1.5.0/docs/api/java/lang/String.html">String[]{assignement.getCourseUnit().getNormalizedName(),assignement.getTitle()});
319
 
320
        1.5.0/docs/api/java/lang/String.html">String fromEmail = Globals.SYSTEM_EMAIL_BOX;
321
        if(userSession!= null && userSession.getUser() != null && Email.validEmail(userSession.getUser().getEmail()))
322
            fromEmail = userSession.getUser().getEmail();
323
        return new Email(subject ,recipients,fromEmail,template,arguments,Message.RecipientType.BCC);
324
    }
325
 
326
 
327
 
236 jmachado 328
    public Email getNewGradesEmail(List<String[]> grades, LangEnum langEnum, 1.5.0/docs/api/java/lang/String.html">String studentEmail, 1.5.0/docs/api/java/lang/String.html">String studentName)
329
    {
330
        List<String> arguments = new ArrayList<String>();
331
 
332
        1.5.0/docs/api/java/lang/String.html">String subject;
333
        1.5.0/docs/api/java/lang/String.html">String template;
334
 
335
        if(langEnum == LangEnum.PORTUGUESE)
336
        {
337
            template = Globals.EMAIL_NEW_GRADES_TEMPLATE_PT;
237 jmachado 338
            subject = Globals.EMAIL_NEW_GRADES_SUBJECT_PT;
236 jmachado 339
        }
340
        else
341
        {
342
            template = Globals.EMAIL_NEW_GRADES_TEMPLATE_EN;
237 jmachado 343
            subject = Globals.EMAIL_NEW_GRADES_SUBJECT_EN;
236 jmachado 344
        }
345
 
346
        1.5.0/docs/api/java/lang/StringBuilder.html">StringBuilder gradesBuilder = new 1.5.0/docs/api/java/lang/StringBuilder.html">StringBuilder();
347
        for(1.5.0/docs/api/java/lang/String.html">String[] grade:  grades)
348
        {
349
            1.5.0/docs/api/java/lang/String.html">String gradeTxt = TemplateUtils.formatMessageTemplate(gradeUnitTemplate,grade);
350
            gradesBuilder.append(gradeTxt);
351
        }
352
 
353
        arguments.add(studentName);
354
        arguments.add(gradesBuilder.toString());
355
 
356
        List<String> recipients = new ArrayList<String>();
357
        recipients.add(studentEmail);
358
        return new Email(subject ,recipients, Globals.SYSTEM_EMAIL_BOX,template,arguments);
359
    }
360
 
358 jmachado 361
    public Email getSummaryEmail(List<String> emails, CourseUnitSummary cUS, CourseUnit c, LangEnum langEnum)
362
    {
363
        List<String> arguments = new ArrayList<String>();
364
 
365
        1.5.0/docs/api/java/lang/String.html">String data = DatesUtils.getStringFromDate(cUS.getDataAula());
366
        1.5.0/docs/api/java/lang/String.html">String subject;
367
        1.5.0/docs/api/java/lang/String.html">String template;
368
 
369
        if(langEnum == LangEnum.PORTUGUESE)
370
        {
371
            template = Globals.EMAIL_SUMMARY_TEMPLATE_PT;
372
            subject = Globals.EMAIL_SUMMARY_SUBJECT_PT;
373
        }
374
        else
375
        {
376
            template = Globals.EMAIL_SUMMARY_TEMPLATE_EN;
377
            subject = Globals.EMAIL_SUMMARY_SUBJECT_EN;
378
        }
379
        subject = TemplateUtils.formatMessageTemplate(subject,new 1.5.0/docs/api/java/lang/String.html">String[]{c.getName()});
380
 
381
        arguments.add(c.getName());
382
        arguments.add(""+cUS.getNumeroAula());
383
        arguments.add(data);
384
        arguments.add(cUS.getTitulo());
385
        arguments.add(cUS.getDescricao());
386
 
387
        List<String> recipients = new ArrayList<String>();
388
        for(1.5.0/docs/api/java/lang/String.html">String email:emails)
389
            recipients.add(email);
390
        return new Email(subject ,recipients, Globals.SYSTEM_EMAIL_BOX,template,arguments);
391
    }
392
 
751 jmachado 393
    public Email getUnidadeEdicaoEmail(List<String> emails, CourseUnit c, LangEnum langEnum)
394
    {
395
        List<String> arguments = new ArrayList<String>();
396
 
397
 
398
        1.5.0/docs/api/java/lang/String.html">String subject;
399
        1.5.0/docs/api/java/lang/String.html">String template;
400
 
401
        if(langEnum == LangEnum.PORTUGUESE)
402
        {
403
            template = Globals.EMAIL_UNDADE_EDICAO_TEMPLATE_PT;
404
            subject = Globals.EMAIL_UNDADE_EDICAO_SUBJECT_PT;
405
        }
406
        else
407
        {
408
            template = Globals.EMAIL_UNDADE_EDICAO_TEMPLATE_EN;
409
            subject = Globals.EMAIL_UNDADE_EDICAO_SUBJECT_EN;
410
        }
411
        subject = 1.5.0/docs/api/java/text/MessageFormat.html">MessageFormat.format(ConfigProperties.getProperty(subject),new 1.5.0/docs/api/java/lang/String.html">String[]{c.getName()});
412
 
413
        arguments.add(c.getName());
414
 
415
        List<String> recipients = new ArrayList<String>();
416
        for(1.5.0/docs/api/java/lang/String.html">String email:emails)
417
            recipients.add(email);
418
        return new Email(subject ,recipients, Globals.SYSTEM_EMAIL_BOX,template,arguments);
419
    }
420
 
421
     public Email getUnidadeValidadaEmail(List<String> emails, CourseUnit c, LangEnum langEnum)
422
    {
423
        List<String> arguments = new ArrayList<String>();
424
 
425
 
426
        1.5.0/docs/api/java/lang/String.html">String subject;
427
        1.5.0/docs/api/java/lang/String.html">String template;
428
 
429
        if(langEnum == LangEnum.PORTUGUESE)
430
        {
431
            template = Globals.EMAIL_UNDADE_VALIDADA_TEMPLATE_PT;
432
            subject = Globals.EMAIL_UNDADE_VALIDADA_SUBJECT_PT;
433
        }
434
        else
435
        {
436
            template = Globals.EMAIL_UNDADE_VALIDADA_TEMPLATE_EN;
437
            subject = Globals.EMAIL_UNDADE_VALIDADA_SUBJECT_EN;
438
        }
439
        subject = 1.5.0/docs/api/java/text/MessageFormat.html">MessageFormat.format(ConfigProperties.getProperty(subject),new 1.5.0/docs/api/java/lang/String.html">String[]{c.getName()});
440
 
441
        arguments.add(c.getName());
442
 
443
        List<String> recipients = new ArrayList<String>();
444
        for(1.5.0/docs/api/java/lang/String.html">String email:emails)
445
            recipients.add(email);
446
        return new Email(subject ,recipients, Globals.SYSTEM_EMAIL_BOX,template,arguments);
447
    }
448
 
449
    public Email getUnidadeEditadaEmail(List<String> emails, CourseUnit c, LangEnum langEnum)
450
    {
451
        List<String> arguments = new ArrayList<String>();
452
 
453
 
454
        1.5.0/docs/api/java/lang/String.html">String subject;
455
        1.5.0/docs/api/java/lang/String.html">String template;
456
 
457
        if(langEnum == LangEnum.PORTUGUESE)
458
        {
459
            template = Globals.EMAIL_UNDADE_EDITADA_TEMPLATE_PT;
460
            subject = Globals.EMAIL_UNDADE_EDITADA_SUBJECT_PT;
461
        }
462
        else
463
        {
464
            template = Globals.EMAIL_UNDADE_EDITADA_TEMPLATE_EN;
465
            subject = Globals.EMAIL_UNDADE_EDITADA_SUBJECT_EN;
466
        }
467
        subject = 1.5.0/docs/api/java/text/MessageFormat.html">MessageFormat.format(ConfigProperties.getProperty(subject),new 1.5.0/docs/api/java/lang/String.html">String[]{c.getName()});
468
 
469
        arguments.add(c.getCourseName());
470
        arguments.add(c.getName());
471
 
472
        List<String> recipients = new ArrayList<String>();
473
        for(1.5.0/docs/api/java/lang/String.html">String email:emails)
474
            recipients.add(email);
475
        return new Email(subject ,recipients, Globals.SYSTEM_EMAIL_BOX,template,arguments);
476
    }
477
 
236 jmachado 478
    public boolean sendNewGrades(List<String[]> grades, LangEnum langEnum, 1.5.0/docs/api/java/lang/String.html">String studentEmail, 1.5.0/docs/api/java/lang/String.html">String studentName)
479
    {
480
        try
481
        {
482
            sendEmail(getNewGradesEmail(grades,langEnum,studentEmail,studentName));
483
            return true;
484
        }
485
        catch (ServiceException e)
486
        {
487
            return false;
488
        }
489
 
490
    }
491
 
492
    public static void main(1.5.0/docs/api/java/lang/String.html">String [] args)
493
    {
440 jmachado 494
        1.5.0/docs/api/java/lang/System.html">System.out.println( DatesUtils.getStringFromDate(new 5+0%2Fdocs%2Fapi+Date">Date()));
495
//        List<String[]> grades = new ArrayList<String[]>();
496
//        grades.add(new String[]{"Teste","3"});
497
//        grades.add(new String[]{"Teste2","4"});
498
//        new SendEmailService().sendNewGrades(grades,LangEnum.PORTUGUESE,"jmachado@estgp.pt","jorge Machado");
236 jmachado 499
    }
500
 
29 jmachado 501
}