VB.Net - 以html和纯文本形式发送邮件

时间:2017-02-15 18:16:23

标签: vb.net visual-studio email smtp

我的VB应用程序中有一个邮件功能'Sendmail',因为......

 Public Function Sendmail(ByVal mailrecipient As String, ByVal mailsubject As String, ByVal mailbody As String)
        Try
            Dim SmtpServer As New SmtpClient()
            Dim mail As New MailMessage()
            SmtpServer.Credentials = New _
        Net.NetworkCredential(internal_mail_server_username, internal_mail_server_password)
            SmtpServer.Port = 25
            SmtpServer.Host = internal_mail_server
            mail = New MailMessage()
            mail.From = New MailAddress(internal_email_sender)
            mail.To.Add(mailrecipient)
            mail.Subject = mailsubject
            mail.IsBodyHtml = True
            mail.Body = mailbody
            SmtpServer.Send(mail)
            MessageBox.Show("Mail successfully sent to " & mailrecipient)
            Return "Success"

        Catch ex As Exception

        End Try
    End If
End Function

这很好用,将收件人,主题和正文传递给它发送HTML邮件......太棒了。

我需要的是包含该电子邮件的纯文本版本以及邮件。

我能用一种简单的方法来实现这个目标吗?

1 个答案:

答案 0 :(得分:1)

使用alterativeViews

'first create the Plain Text part
Dim plainView As AlternateView = AlternateView.CreateAlternateViewFromString(Plain_Text)
'then  create the Html part
Dim htmlView As AlternateView = AlternateView.CreateAlternateViewFromString(HTML_Text)
mail.AlternateViews.Add(plainView)
mail.AlternateViews.Add(htmlView)

显然你需要将PLain_Text和HTML_Text作为参数传递给例程。