You need to sign in to do that
Don't have an account?
@ M Coder
issue in setCCAddresses to send emails in CC --URGENT!!!!!
Hello Guys ,
Basically i need to pass email ids present in my custom metadattype to CC in mailing logic when ever my label is IND .
in simple i need to emails cc (those email id.) to users.
i just kept my piece of code whether i am getting the below error
My custom metadatype contains two values
1) label: Ind 2) Email_Address__c = ram@gmail.com sam@gmail.com hello@gmail.com
My piece of code
//calling custom metadata type
map<string,string> emailmap = new map<string,string>();
for(Email__mdt ce : [SELECT Label,Email_Address__c FROM Email__mdt])
{
emailmap.put(ce.Label , ce.Email_Address__c);
system.debug('emailmap====='+emailmap);
}
//Splitting CC email addresses and adding in array
String[] ccAddresses = new String[]{};
if(!emailmap.isEmpty())
{
system.debug('Map has values....');
for(string ev:emailmap.Values())
{
system.debug('ev======'+ev);
list<string> emailid = ev.split(',');
ccAddresses.addAll(emailid);
system.debug('ccAddresses======'+ccAddresses);
}
}
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
mail.setToAddresses(sendTo);
mail.setTargetObjectId(Userinfo.getUserId());
mail.setCCAddresses(ccAddresses);
mail.setSaveAsActivity(false);
mail.setWhatId(leadRecId );
Messaging.SendEmailResult [] result = Messaging.sendEmail(new Messaging.SingleEmailMessage[] {mail});
Error I am getting:
System.EmailException: SendEmail failed. First exception on row 0; first error: INVALID_EMAIL_ADDRESS, Invalid to address : ram2929@gmail.com sam@gmail.com hello@gmail.com
My analysis: i think split string is not working fine in my logic , can anyone please modify the piece of code.
Basically i need to pass email ids present in my custom metadattype to CC in mailing logic when ever my label is IND .
in simple i need to emails cc (those email id.) to users.
i just kept my piece of code whether i am getting the below error
My custom metadatype contains two values
1) label: Ind 2) Email_Address__c = ram@gmail.com sam@gmail.com hello@gmail.com
My piece of code
//calling custom metadata type
map<string,string> emailmap = new map<string,string>();
for(Email__mdt ce : [SELECT Label,Email_Address__c FROM Email__mdt])
{
emailmap.put(ce.Label , ce.Email_Address__c);
system.debug('emailmap====='+emailmap);
}
//Splitting CC email addresses and adding in array
String[] ccAddresses = new String[]{};
if(!emailmap.isEmpty())
{
system.debug('Map has values....');
for(string ev:emailmap.Values())
{
system.debug('ev======'+ev);
list<string> emailid = ev.split(',');
ccAddresses.addAll(emailid);
system.debug('ccAddresses======'+ccAddresses);
}
}
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
mail.setToAddresses(sendTo);
mail.setTargetObjectId(Userinfo.getUserId());
mail.setCCAddresses(ccAddresses);
mail.setSaveAsActivity(false);
mail.setWhatId(leadRecId );
Messaging.SendEmailResult [] result = Messaging.sendEmail(new Messaging.SingleEmailMessage[] {mail});
Error I am getting:
System.EmailException: SendEmail failed. First exception on row 0; first error: INVALID_EMAIL_ADDRESS, Invalid to address : ram2929@gmail.com sam@gmail.com hello@gmail.com
My analysis: i think split string is not working fine in my logic , can anyone please modify the piece of code.
ram@gmail.com sam@gmail.com hello@gmail.com
i notice that you have spaces as separators, not commas (,)
tweak your code to allow for space, not comma
run the below in dev console to review the output:
regards
Andrew