I have created a Apex trigger on opportunity when the available__C checkbox unchecked then mail needs to go to opportunity Owners manager.. I have written below trigger.Here mail is getting sent but no opp details are coming in mail..I have used Text template with merge field(like opp.name) which are correct
trigger OnOpportunity on Opportunity (after insert,after update) {
set<id>oppId=new set<id>();
map<id,opportunity> OppMap=new map<id,opportunity>();
list<id> userid=new list<id>();
List<Messaging.SingleEmailMessage> emails = new List<Messaging.SingleEmailMessage>();
if (trigger.isinsert && trigger.isAfter){
for(opportunity opp:trigger.new){
oppmap.put(opp.OwnerId,opp);
}
}
if (trigger.isupdate && trigger.isAfter){
for(opportunity opp:trigger.new){
if(opp.Avialable__c==false && opp.Avialable__c!=trigger.oldmap.get(opp.id).Avialable__c){
oppmap.put(opp.OwnerId,opp);
}
}
}
Map<Id,User> userMap = new Map<Id,User>([select id,manager.email,managerid from user where id in:oppmap.keySet()]);
for (opportunity opp:trigger.new){
if(userMap.containsKey(opp.ownerid)){
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
mail.setTargetObjectId(userMap.get(opp.ownerid).managerid);
mail.setTemplateId('00X28000001Fiuv');
mail.setSaveAsActivity(false);
Messaging.sendEmail(new Messaging.SingleEmailMessage[] { mail });
}
}
}