Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- global class ScheduleReportNew implements Schedulable{
- global Set<String> emailList;
- global string schId;
- global void execute(SchedulableContext SC) {
- if(emailList.size() > 0){
- List<string> emailIds = new List<string>();
- emailIds.addAll(emailList);
- Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
- mail.setToAddresses(emailIds);
- mail.setSubject('Report Generated');
- mail.setBccSender(false);
- mail.setUseSignature(false);
- mail.setPlainTextBody('Please find Report enclosed with this email.');
- PageReference pg = new PageReference('/apex/PreviewReportNew?schId='+schId);
- blob pdfBlob = pg.getContent();
- List<Messaging.Emailfileattachment> fileAttachments = new List<Messaging.Emailfileattachment>();
- Messaging.Emailfileattachment efa = new Messaging.Emailfileattachment();
- efa.setFileName('Report - ('+Datetime.now().formatGMT('yyyy-MM-dd')+')' + '.pdf');
- efa.setBody(pdfBlob);
- fileAttachments.add(efa);
- mail.setFileAttachments(fileAttachments);
- Messaging.sendEmail(new Messaging.SingleEmailMessage[] {mail});
- }
- }
- public ScheduleReportNew (){}
- public ScheduleReportNew (Set<String> emailids, Id attachMentId) {
- }
- public ScheduleReportNew (Set<String> emailids, string schId) {
- emailList = emailids;
- this.schId = schId;
- }
- }
Add Comment
Please, Sign In to add comment