it's your mail sender which is fucked. I presumed you had a working script bu i bet no. You should take a look look at Send-MailMessage
Send-MailMessage -To <yourmail> -Subject <yoursbuject> -Body (ConvertTo-HTML @params) -BodyAsHtml -SmtpServer <Your_SMTP_Server>
But ar first you should learn to use PowerShell/PowerCLi bascis in order to understand better your problems, the variable $msg isn't declared or builded anywhere in your script !