今天小编给大家分享一下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怎么实现发邮件功能”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。