Can't find appropriate link, so I'll drop code sample here:
EmailMessage msg = new EmailMessage();
EmailTemplateInfo eti = EmailTemplateProvider.GetEmailTemplate("ReviewRequest", SiteContext.CurrentSiteID);
MacroResolver mcr = MacroResolver.GetInstance();
mcr.SetNamedSourceData("url", reviewPageUrl);
mcr.SetNamedSourceData("training", training);
msg.EmailFormat = EmailFormatEnum.Html;
msg.From = eti.TemplateFrom;
msg.BccRecipients = eti.TemplateBcc;
msg.Recipients = user.Email;
msg.Subject = eti.TemplateSubject;
EmailSender.SendEmailWithTemplateText(SiteContext.CurrentSiteName, msg, eti, mcr, true);