今天小编给大家分享一下Salesforce怎么实现发邮件功能的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
首先我们来捋一下思路,
发邮件,我们需要有以下几个部分,
1. 标题
2. 内容
3.收件人
4.抄送人
了解salesforce的知道 标题和内容 其实设计起来很简单,难的是查找一些收件的用户.言归正传,我们来接着捋思路.
我们是要给公用小组 里面的成员发邮件的,所以我们首先
第一步,找到那个公用小组 (Group)对象,其次 一个小组肯定有它的小组成员(groupMembers ) ,而小组的成员其实就是我们常说的用户(User),
说白了,给公用小组发邮件其实就是给小组里面的成员发邮件.
到这里 我们就可以知道三个对象的关系了.
小组成员对象 就相当于一张中间表 用来连接 公用小组 和 用户 这两个对象.
//发送邮件
public static boolean sendMail() {
Boolean result = true;
String title = '';
String body = '';
List<String> toMailList = new List<String>();
//List<String> ccMailList = new List<String>();
List<String> statementIdList = new List<String>();
Date today = Date.today();
// 标题与内容
title = '给公共小组发邮件';
body += '各位小伙伴们,你们好!<br/>';
body += '欢迎浏览苗小喵的博客!<br/>';
body += '谢谢<br/>';
body += '(^_^)~喵~!!<br/>';
//收件人与抄送人
//1. 邮件群组
//String str = System.Label.OPDTPMailboxGroup;
toMailList.addAll(str.split(';'));
//2. 公共小组
//用来存放用户的id
List<String> idList = new List<String>();
//查询公用小组
List<Group> gList = [ SELECT (select userOrGroupId from groupMembers) FROM group WHERE name = 'MyGroupName'];
if (gList != null && gList.size() > 0) {
for (Group g : gList) {
for (GroupMember gm : g.groupMembers) {
idList.add(gm.userOrGroupId);
}
}
}
//根据用户id查询用户信息
List<User> usrList = [SELECT email FROM user WHERE id in :idList];
//获取各个用户的email
for (User u : usrList) {
toMailList.add(u.email);
}
List<Messaging.SingleEmailMessage> sendMails = new List<Messaging.SingleEmailMessage>();
Messaging.SingleEmailMessage messageNEW = new Messaging.SingleEmailMessage();
messageNEW.setSubject(title);
messageNEW.setHtmlBody(body);
messageNEW.setCharset('UTF-8');
messageNEW.setToAddresses(toMailList);
//messageNEW.setCcAddresses(ccMailList);
sendMails.add(messageNEW);
if (sendMails.size() > 0) {
Messaging.SendEmailResult[] results = messaging.sendEmail(sendMails);
for (Integer i = 0; i < results.size(); i++) {
if (results[i].success == false) {
system.debug('=====send mail error:' + results[i].errors[0].message);
result = false;
}
}
}
return result;
}
以上就是“Salesforce怎么实现发邮件功能”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注天达云行业资讯频道。