I am having an html email template which uses certain merge fields from a custom object. Now I am using following apex code to send certain emails to users.

    Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
			
			mail.setTargetObjectId(t.OwnerId); 
			mail.setTemplateId(et.Id);
			mail.setWhatId(t.Id); 
			mail.SaveAsActivity = false;
        	Messaging.sendEmail(new Messaging.singleemailMessage[] {mail});

Code is saved without error but when I run it it says "can't use whatId when sending email to users". Can anyone explain me how to overcome this error?