请教MAPI发送邮件问题

时间:2022-09-24 12:05:17
因为要实现outlook和Foxmail 两种客户端的发送邮件功能,所以采用调MAPI
现MAPI发送文本信息已经可以了,但是不知道发送HTML内容需要怎么处理,请教大神。

直接传HTML的话会当文本处理 请教MAPI发送邮件问题


    [DllImport("MAPI32.DLL")]
        static extern int MAPISendMail(IntPtr sess, IntPtr hwnd, MapiMessage message, int flg, int rsv);

        int SendMail(string strSubject, string strBody, int how)
        {
            MapiMessage msg = new MapiMessage();
            msg.subject = strSubject;
            msg.noteText = strBody;
            
            msg.recips = GetRecipients(out msg.recipCount);
            msg.files = GetAttachments(out msg.fileCount);

            m_lastError = MAPISendMail(new IntPtr(0), new IntPtr(0), msg, how, 0);
            if (m_lastError > 1)
                MessageBox.Show("MAPISendMail failed! " + GetLastError(), "MAPISendMail");

            Cleanup(ref msg);
            return m_lastError;
        }

3 个解决方案

#1


只能指路了,官方文档:
https://msdn.microsoft.com/en-us/library/windows/desktop/dd296720(v=vs.85).aspx

骨头就不帮你啃了,办公室没google

#2


这个看过了,还是没用,求指导

#3


richtext不是传输的问题。是解码的问题。你的控件(textbox)应该改为richTextBox一类的控件,
你可以搜一下能符合你要的富文本编辑器来满足你的需求

#1


只能指路了,官方文档:
https://msdn.microsoft.com/en-us/library/windows/desktop/dd296720(v=vs.85).aspx

骨头就不帮你啃了,办公室没google

#2


这个看过了,还是没用,求指导

#3


richtext不是传输的问题。是解码的问题。你的控件(textbox)应该改为richTextBox一类的控件,
你可以搜一下能符合你要的富文本编辑器来满足你的需求