Using a Html file for mail.body in .net.mail

2019-09-18 05:07发布

问题:

MVC3, VB.NET. I have a function in my app that is supposed to use a html file's contents for the email body. However what I have so far is failing at the mail.body = file.readalltext(_body) line.. Any ideas??

   <Authorize(Roles:="Admin")>
    Function Notification(ByVal _email As String) As ActionResult


        Dim _body = Path.Combine((AppDomain.CurrentDomain.BaseDirectory) + "HtmlEmails\") + "HolidayEmail.htm"

        Dim SmtpServer As New SmtpClient()
        Dim mail As New MailMessage()
        mail.To.Add(_email)
        mail.From = New MailAddress("xxxxxx.Automated@xxxxxxxxx.com")

        mail.Subject = "Happy Holidays From xxxxx"
        mail.Body = File.ReadAllText(_body)
        mail.IsBodyHtml = True
        Dim smtp As New SmtpClient("mail.xxxxxxxxx.com")
        smtp.Credentials = New System.Net.NetworkCredential("xxxxxx.Automated@xxxxxxxxxxxxxxx.com", "xxxxxxxxxx")
        smtp.Port = "587"
        smtp.Send(mail)

        Return RedirectToAction("LogOn", "Account")
    End Function

回答1:

Change mail.Body = File.ReadAllText(_body) to mail.Body = System.IO.File.ReadAllText(_body).

File is also a member of Controller.