【问题标题】:How to add attachments to outlook using MFC如何使用 MFC 将附件添加到 Outlook
【发布时间】:2015-06-15 20:51:09
【问题描述】:

我正在尝试从将发送带有附件的邮件的 MFC 代码打开 Outlook。但是我无法添加附件,因为我不知道使用什么方法,即使发送了邮件,outlook 也没有打开,邮件是直接发送的。

我使用了以下代码:

void COutlookDlgDlg::OnBnClickedOpenoutlook()
{
    CApplication olApp;
    COleException e;
    if (!olApp.CreateDispatch(_T("Outlook.Application"), &e)) {
        CString strErr;
        strErr.Format(_T("CreateDispatch() failed w/error 0x%08lx"), e.m_sc);
        AfxMessageBox(strErr, MB_SETFOREGROUND);
        return;
    }

    CNameSpace olNs(olApp.GetNamespace(_T("MAPI")));
    COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
    olNs.Logon(covOptional, covOptional, covOptional, covOptional);

    CMailItem olMailItem(olApp.CreateItem(olMailItem));
    olMailItem.put_To(_T("xyz@abc.com"));
    olMailItem.put_Subject(_T("xyz..."));
    olMailItem.put_Body(_T("Hi mnc,\n\n")
                        _T("\tMail for testing!\n\n"));
    olMailItem.Send();

    olNs.Logoff();
}

【问题讨论】:

    标签: c++ mfc outlook


    【解决方案1】:

    Outlook 对象模型适用于所有类型的应用程序和编程语言。

    Attachments 类的Add 方法在 Attachments 集合中创建一个新附件(请参阅 MailItem 类的 Attachments 属性)。

    如果您需要在发送前显示邮件项目,您可以使用 MailItem 类的Display 方法。

    最后,您可能会发现以下文章很有帮助:

    【讨论】:

    • 我创建了一个附件对象:附件 att;当我使用 att.Add 时,我收到一个错误,即不允许使用抽象类类型的对象。 @Eugene Astafiev
    • 您需要使用从附件属性中获取的对象:mail.Attachments.Add
    • 非常感谢。我现在可以添加附件了。我有最后一个问题。如果我想附加多个文件,那么我需要在代码中一次又一次地提及吗? @Eugene Astafiev
    • 是的,你需要多次调用Add方法。
    猜你喜欢
    • 2016-08-29
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-17
    相关资源
    最近更新 更多