2

Microsoft Outlook を使用して添付ファイルを送信する顧客がいます。ただし、odoo ではwinmail.datファイルしか表示されません (メール クライアントではすべて問題ないように見えます)。

odoo に強制的にwinmail.datコンテンツを公開させる方法はありますか?

4

1 に答える 1

3

問題は、Microsoft Outlook がTransport Neutral Encapsulation Formatを使用し、すべての添付ファイルを 1 つのファイルにまとめることです。

tnef フォーマット用の優れた python パーサーがありますtnefparsemail.threadそれを使用して、このようなモデルを拡張するための簡単なモジュールを作成することをお勧めします

from tnefparse import TNEF
from openerp.osv import osv

class MailThread(osv.Model):
    _inherit = 'mail.thread'

    def _message_extract_payload(self, message, save_original=False):
        body, attachments = \
            super(MailThread, self)\
                ._message_extract_payload(message, save_original=save_original)

        new_attachments = []
        for name, content in attachments:
            new_attachments.append((name, content))
            if name and name.strip().lower() in ['winmail.dat', 'win.dat']:
                try:
                    winmail = TNEF(content)
                    for attach in winmail.attachments:
                        new_attachments.append((attach.name, attach.data))
                except:
                    # some processing here
                    pass

        return body, new_attachments

カスタム モジュールの実行方法の詳細については、こちらを参照してください。

于 2016-08-17T13:54:14.340 に答える