• kumar raj 7
  • NEWBIE
  • 0 Points
  • Member since 2017

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 2
    Questions
  • 3
    Replies
Hello All,

Can you please suggest please


global class SendMailtousers implements Database.Batchable<sObject>
{
    List<Messaging.MassEmailMessage> listmail = new List<Messaging.MassEmailMessage>();
    
    global database.QueryLocator start(database.BatchableContext bc)
    {   
        string query='Select id,Email,IsActive,Name from User where isActive=true and lastLoginDate < :DATE.TODAY()-38';
        return Database.getQueryLocator(query);
    }
    global void execute(database.BatchableContext bc,list<user> scope)
    {
        list<string> ccmail=['mani@gmail.com,suresh@gmail.com'];
        ccmail=new list<string>();
        List<Messaging.SingleEmailMessage> mails = new List<Messaging.SingleEmailMessage>();
        for(User u: scope)
        {
            Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage(); 
            List<String> sendTo = new List<String>();
            sendTo.add(u.Email);
            mail.setToAddresses(sendTo);
            mail.setCcAddresses(ccmail);
            mail.setSenderDisplayName('Test Mail'); 
            mail.setSubject('subject');  
            mail.setPlainTextBody('body'); 
            mails.add(mail);
        }
        Messaging.sendEmail(mails);  
        
    }
    global void finish(database.BatchableContext bc)
    {
        
    }
}
Hi All,

Help me on this issue
I am trying to do now apex code.later i will start doing Batch apex.

public PageReference SendEmail()
    {
        List<user>userlist=[select id,name,email,lastlogindate from user where lastlogindate < last_N_days:38];
        List<Id> lstids= new List<Id>(); 
        for(User c:userlist) { 
            lstids.add(c.id);
        }         
        EmailTemplate et=[Select id from EmailTemplate where name = 'EmailTemplatename' limit 1];  
        Messaging.MassEmailMessage mail = new Messaging.MassEmailMessage(); 
        mail.setTargetObjectIds(lstids); 
        mail.setSenderDisplayName('System Admin'); 
        mail.setTemplateId(et.id); 
        Messaging.sendEmail(new Messaging.MassEmailMessage[] { mail }); 
        return null;
    } 
Hi All,

Help me on this issue
I am trying to do now apex code.later i will start doing Batch apex.

public PageReference SendEmail()
    {
        List<user>userlist=[select id,name,email,lastlogindate from user where lastlogindate < last_N_days:38];
        List<Id> lstids= new List<Id>(); 
        for(User c:userlist) { 
            lstids.add(c.id);
        }         
        EmailTemplate et=[Select id from EmailTemplate where name = 'EmailTemplatename' limit 1];  
        Messaging.MassEmailMessage mail = new Messaging.MassEmailMessage(); 
        mail.setTargetObjectIds(lstids); 
        mail.setSenderDisplayName('System Admin'); 
        mail.setTemplateId(et.id); 
        Messaging.sendEmail(new Messaging.MassEmailMessage[] { mail }); 
        return null;
    }