1

从 ASP.NET (VB) 发送电子邮件时,我遇到了一些麻烦。这是我打开的代码

            Using mm As New MailMessage("myemai@abcd.com", mc.mailTo)

                If mc.mailCC.Trim <> "" Then
                    mm.CC.Add(mc.mailCC)
                End If
                If mc.mailBCC.Trim <> "" Then
                    mm.CC.Add(mc.mailBCC)
                End If
                mm.IsBodyHtml = True
                mm.Subject = mc.mailSubject
                mm.Body = b
                Dim smtp As New SmtpClient() 


                Try
                    smtp.Send(mm)
                Catch ex As SmtpException
                    gf.logArray(jA, ex.Message)
                    Dim statuscode As SmtpStatusCode
                    statuscode = ex.StatusCode
                    If statuscode = SmtpStatusCode.MailboxBusy Or statuscode = SmtpStatusCode.MailboxUnavailable Or statuscode = SmtpStatusCode.TransactionFailed Then
                        System.Threading.Thread.Sleep(5000)
                        smtp.Send(mm)

                    End If


                End Try

            End Using

我遇到的问题是。邮件发送正常。但正文仅显示为 HTML。即使我明确指定了 mm.isBodyHTML=true也没有渲染。有什么建议请...

这是我收到的信息

在此处输入图像描述

4

2 回答 2

1

如果您使用 smtp 发送电子邮件,您可以添加一个参数 IsBodyHtml,我遇到了同样的问题并通过设置 IsBodyHtml=true 来解决,它对我有用。

var fromAddress = new MailAddress("abc@gmail.com", "Abc Noreply");
        var toAddress = new MailAddress(email, "");
        const string fromPassword = "acbsexample";



        var smtp = new SmtpClient
        {
            Host = "smtp.gmail.com",
            Port = 587,
            EnableSsl = true,
            DeliveryMethod = SmtpDeliveryMethod.Network,
            UseDefaultCredentials = false,
            Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
        };
        using (var message = new MailMessage(fromAddress, toAddress)
        {
            Subject = subject,
            Body = emailBody,
            IsBodyHtml=true
        })
        {
            smtp.Send(message);
        }
于 2019-04-20T11:46:43.970 回答
0

我认为主要问题在于您的 html 消息正文。尝试只发送带有内容的消息正文表,不发送 DOCTYPE、head 和其他内容。

因为邮件代理在已经存在的 html 页面中呈现您的消息,所以无法在页面中呈现页面代理将您的消息正文编码为字符串。

于 2017-09-11T06:50:37.963 回答