为邮件的正文和附件指定 Internet 编码方案

本主题演示如何使用 MAPI 属性 PidTagInternetMailOverrideFormat 和 Microsoft Outlook 对象模型为 Exchange Internet 邮件服务指定 Internet 编码方案, (IMS) 对邮件项目的正文和附件进行编码。

Visual C# 中的以下代码示例演示如何使用其 MAPI proptag 命名空间引用 PidTagInternetMailOverrideFormat ,并使用 Outlook 对象模型的 PropertyAccessor 对象将 MIME 指定为邮件的 Internet 编码方案。 PidTagInternetMailOverrideFormat 引用为:

https://schemas.microsoft.com/mapi/proptag/0x59020003

其中 0x59020003PidTagInternetMailOverrideFormat 的 proptag。

private void SendMail_Click() 
{ 
    Outlook.NameSpace objSession; 
    Outlook.MailItem objMailItem; 
    Outlook.Recipient objRecipient; 
    Outlook.PropertyAccessor oPA; 
 
    string Recipient, MsgSubject, ImageFile, TextFile, FileLocation, PropName; 
    int EncodingFlag; 
     
 
    //Modify the following to appropriate values. 
    Recipient = "someone@example.com"; 
    EncodingFlag = 1; //Use MIME encoding 
    MsgSubject = "Test Encoding"; 
    ImageFile = "garden.jpg"; 
    TextFile = "mytext.txt"; 
    FileLocation = "c:\\"; 
 
    objSession = Application.GetNamespace("MAPI"); 
    objSession.Logon(null, null, true, null); 
 
    objMailItem = Application.CreateItem( 
                Outlook.OlItemType.olMailItem) as Outlook.MailItem; 
    objMailItem.Subject = MsgSubject; 
    objMailItem.Body = "body"; 
    objMailItem.Attachments.Add(FileLocation + TextFile, 
        Outlook.OlAttachmentType.olByValue, 1, TextFile); 
    objMailItem.Attachments.Add(FileLocation + ImageFile, 
        Outlook.OlAttachmentType.olByValue, 1, ImageFile); 
 
    objRecipient = objMailItem.Recipients.Add(Recipient); 
    objRecipient.Resolve(); 
 
    PropName = "https://schemas.microsoft.com/mapi/proptag/0x59020003"; 
    oPA = objMailItem.PropertyAccessor; 
    oPA.SetProperty(PropName, EncodingFlag); 
 
    objMailItem.Send(); 
 
    objSession.Logoff(); 
 
}

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。