用户合并字段不会替换为用户记录 ID

user merge fields doesn't replace by user record ID

我正在尝试通过电子邮件模板向用户发送电子邮件,但它总是用组织管理员的用户名而不是 targetobjectID 用户替换用户合并字段。

组织管理员:卢克赖特

电子邮件模板正文:

Dear {!User.Name} ,
Hearty Congratulations on this beautiful occasion. May your marriage bring great joy, love and passion in your life. I wish to God to bless you with a wonderful marriage and a happy life ahead.
Thanks and Regards.
{!Organization.Name}

OrgWideEmailAddress owa = [select id, DisplayName, Address from OrgWideEmailAddress limit 1];
List<Messaging.SingleEmailMessage> allmsg = new List<Messaging.SingleEmailMessage>(); 
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage(); 
mail.setTemplateID('00X0S000000iBYB'); // Template Id
mail.setSaveAsActivity(false);
mail.setTargetObjectId('0050S0000023KS9'); // UserId  Name: John Doe
mail.setOrgWideEmailAddressId(owa.id);
allmsg.add(mail); 
Messaging.sendEmail(allmsg,false);

问题: 亲爱的 {!User.Name} 应该被 john doe 取代,而它正在被 luke 取代wright 并且电子邮件转到正确的用户,即 john doe

P.S. 用户的合并字段未被该记录 ID 替换

用户错误? ;)

User 适用于当前 运行 用户。看起来你想要 Receiving_User.

如果您启用了社区,您可能拥有此 built-in 电子邮件模板。即使没有 - 检查屏幕截图的顶部。

如果您的电子邮件模板是 Visualforce 而不是普通的 - 可能您应该使用 {!relatedTo}