Dein Quellcode ist in jedem Fall unvollständig, da er mit <tbody> beginnt, was nur innerhalb einer <table> kommen darf, die es bei dir ja nicht gibt.
Wenn du html senden willst, hat Siggi ja schon richtig erwähnt, dass der $html Flag bei icmail dann mit true gesetzt sein muss.
icmail($mail, $betreff, $text, $from, true)
Weiter sollte der Code, dann Komplett sein, also mit <html>...</html> umschlossen sein.
Dann kannst du theoretisch auch den Code in der lang Datei setzen, ist aber bei so langen Sachen dann ggf. nicht empfehlenswert, gerade wenn du nur eine Sprache einsetzt, wäre es sinnvoller ggf. ein Template zu verwenden.
Wenn du den Code mit den %s Parametern belassen willst, dann in etwa so.
$mailtpl = new tpl('user/regmail');
$mailtxt = $mailtpl->get(0);
$mailtxt = sprintf($mailtxt, ...);
Alternativ würde es sich dann auch anbieten, direkt Templatevariablen zu benutzen.