使用VB6中的MAPI控件发送带有HTML内容的消息

bab*_*oon 2 html vb6 mapi

如何使用带有HTML正文的MAPI发送邮件?我需要在消息正文中创建表。我正在使用vb6和MAPI控件。有任何想法吗?

Function MailSend(sSendTo As String, sSubject As String, sText As String) As Boolean
    On Error GoTo ErrHandler

    With MAPISession1
        If .SessionID = 0 Then
            .DownLoadMail = False
            .LogonUI = True
            .SignOn
            .NewSession = True
            MAPIMessages1.SessionID = .SessionID
        End If
    End With
    With MAPIMessages1
        .Compose
        .RecipAddress = sSendTo
        .AddressResolveUI = True
        .ResolveName
        .MsgSubject = sSubject
        .MsgNoteText = sText
        .Send False
    End With
    MailSend = True
    Exit Function
ErrHandler:
    'MsgBox Err.Description
    MailSend = False
End Function
Run Code Online (Sandbox Code Playgroud)

Dmi*_*nko 5

MAPI控件使用不处理HTML的简单MAPI。直接使用简单MAPI(MAPISendMail)时有一个技巧-将正文设置为NULL并附加HTML文件:它将用作消息正文。我不知道该技巧是否可以与MAPI控件一起使用。

为什么不切换到使用Outlook对象模型?它完全能够处理HTML:

set App = CreateObject("Outlook.Application")
set NS = App.GetNmaespace("MAPI")
NS.Logon
set Msg = App.CreateItem(0)
Msg.To = sSendTo
Msg.Subject = sSubject
Msg.HTMLBody = sYourHTMLBody
Msg.Send 'or Msg.Display
Run Code Online (Sandbox Code Playgroud)