This depends on your Org Edition. If you're using a Developer Edition, you're limited to:
In Developer Edition orgs and orgs evaluating Salesforce during a trial period, you can send mass email to no more than 10 external email addresses per day. This lower limit doesn’t apply if your org was created before the Winter ’12 release and already had mass email enabled with a higher limit. Additionally, your org can send single emails to a maximum of 15 email addresses per day.
Unless you buy a full edition, you're stuck with this.
If you are using a full Org and calling Messaging.sendEmail
, you can only invoke it 10 times in a single transaction, meaning rather than doing something like this 10 times over...
Messaging.SingleEmailMessage message = new Messaging.SingleEmailMessage();
message.setToAddress(new List<String>{'someone@somewhere.com'});
message.setSubject('Hello World!');
message.setHtmlBody('<p>Lorem ipsum dolor sit amet.<p>');
Messaging.SendEmailResult[] r = Messaging.sendEmail(new Messaging.SingleEmailMessage[] {email});
You would need to bulkify it, something like below:
List<Messaging.SingleEmailMessage> messageList = new List<Messaging.SingleEmailMessage>();
for (Integer i = 0; i < 100; i++) {
Messaging.SingleEmailMessage message = new Messaging.SingleEmailMessage();
message.setToAddress(new List<String>{'someone@somewhere.com'});
message.setSubject('Hello World!');
message.setHtmlBody('<p>Lorem ipsum dolor sit amet.<p>');
messageList.add(message);
}
Messaging.SendEmailResult[] r = Messaging.sendEmail(messageList);
Albeit iterating over a Set<String>
of e-mail addresses and/or using other Message methods like setTargetObjectId
.
You'll still use SingleEmailMessage limits (e.g. if your limit is 5000, you'll be down to 4900 for the day), but the governor limit for sendEmail(messageList)
would only be 1/10 for this transaction.