• Chris Lagarde
  • NEWBIE
  • 0 Points
  • Member since 2014
  • MR

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 1
    Questions
  • 8
    Replies

I'm a Salesforce admin who is unfamiliar with diagnosing a Visualforce error. It was working until a few days ago. The user creates a campaign and copies the campaign ID. The user then goes to the Visualforce page and pastes the campaign id. Additionally, the user copies and pastes an email template id and clicks the Send button. 

System.ListException Visualforce error pops up. Below is the jpg of the Visualforce page, the VF error, and the apex class it's referencing. Any ideas on how to solve this?

User-added image

 

System.ListException: List index out of bounds: 0
Error is in expression '{!send}' in component <apex:commandButton> in page email_template_example: Class.EmailTemplateSelector.send: line 22, column 1
Class.EmailTemplateSelector.send: line 22, column 1
 


 

1	public class EmailTemplateSelector {
2	
3	    public string CampaiId{public get; public set;} 
4	    public string TemplateId{public get; public set;}      
5	    
6	 public PageReference send()
7	{
8	List<CampaignMember> cmp = [SELECT Full_Campaign_Member_ID__c, Contact_18_Digit_ID__c FROM CampaignMember where CampaignId in (SELECT Id FROM Campaign where Id = :CampaiId)];
9	Messaging.SingleEmailMessage[] messages =new List<Messaging.SingleEmailMessage>();
10	        String[] sendBccAdd = new String[]{'dlewis@austinpartners.org'};
11	
12	for(CampaignMember A1 : cmp)
13	{
14	Messaging.SingleEmailMessage message = new Messaging.SingleEmailMessage();
15	message.setTemplateId(TemplateId);
16	message.setTargetObjectId(A1.Contact_18_Digit_ID__c);
17	message.setBccAddresses(sendBccAdd);
18	messages.add(message);
19	}
20	
21	Messaging.SendEmailResult[] results = Messaging.sendEmail(messages);
22	if (results[0].success) {
23	  System.debug('The email was sent successfully.');
24	} else {
25	    System.debug('The email failed to send: '+ results[0].errors[0].message);
26	}
27	return null;
28	}
29	}
 


 

I'm a Salesforce admin who is unfamiliar with diagnosing a Visualforce error. It was working until a few days ago. The user creates a campaign and copies the campaign ID. The user then goes to the Visualforce page and pastes the campaign id. Additionally, the user copies and pastes an email template id and clicks the Send button. 

System.ListException Visualforce error pops up. Below is the jpg of the Visualforce page, the VF error, and the apex class it's referencing. Any ideas on how to solve this?

User-added image

 

System.ListException: List index out of bounds: 0
Error is in expression '{!send}' in component <apex:commandButton> in page email_template_example: Class.EmailTemplateSelector.send: line 22, column 1
Class.EmailTemplateSelector.send: line 22, column 1
 


 

1	public class EmailTemplateSelector {
2	
3	    public string CampaiId{public get; public set;} 
4	    public string TemplateId{public get; public set;}      
5	    
6	 public PageReference send()
7	{
8	List<CampaignMember> cmp = [SELECT Full_Campaign_Member_ID__c, Contact_18_Digit_ID__c FROM CampaignMember where CampaignId in (SELECT Id FROM Campaign where Id = :CampaiId)];
9	Messaging.SingleEmailMessage[] messages =new List<Messaging.SingleEmailMessage>();
10	        String[] sendBccAdd = new String[]{'dlewis@austinpartners.org'};
11	
12	for(CampaignMember A1 : cmp)
13	{
14	Messaging.SingleEmailMessage message = new Messaging.SingleEmailMessage();
15	message.setTemplateId(TemplateId);
16	message.setTargetObjectId(A1.Contact_18_Digit_ID__c);
17	message.setBccAddresses(sendBccAdd);
18	messages.add(message);
19	}
20	
21	Messaging.SendEmailResult[] results = Messaging.sendEmail(messages);
22	if (results[0].success) {
23	  System.debug('The email was sent successfully.');
24	} else {
25	    System.debug('The email failed to send: '+ results[0].errors[0].message);
26	}
27	return null;
28	}
29	}
 


 

I've verified and linked my Trailhead profile but the badges are not showing up. Any ideas on what I can check?