首页 > 解决方案 > 如何检查电子邮件是否是对话的一部分?

问题描述

我们公司有一个客户服务 (CS) 流程,在客户报告我们的软件错误后,我们将收到一封电子邮件,说明他们的投诉主题为通用主题(“用户提交的错误”)和错误的简短描述。然后我们解决问题并通过电子邮件发送给客户。一个问题可能在我们的 CS 部门和客户之间来回发送 1 封或多封电子邮件。

我的 python 脚本使用win32com模块从 Outlook 中提取电子邮件并将它们放入数据框中,每一行作为唯一报告错误的条目。阅读(https://docs.microsoft.com/en-us/office/vba/api/outlook.mailitem.conversationid)后,我决定使用message.ConversationID. 但是,通用电子邮件主题意味着有时他们会将所有不相关的电子邮件组合在一起,ConversationID这对我来说并不是那么独特或有用。

有人可以为我提供一些关于如何最好地解决这个问题的指南吗?

outlook = win32com.client.Dispatch('Outlook.Application').GetNamespace('MAPI')

def message_to_row(message, year, start_month, end_month): # Process each email into row of information
    message_time = message.ReceivedTime
    winrec_time = message.ReceivedTime
    rec_time = pywintypes.Time(winrec_time) 
    rec_year = rec_time.year
    rec_month = rec_time.month
    rec_day = rec_time.day
    rec_time_string = str(rec_time.hour) + ":" + str(rec_time.minute)
    rec_time = format(datetime.datetime.strptime(rec_time_string, "%H:%M"), "%H:%M")

    if rec_year >= year:
        if rec_month in range(start_month, end_month):
            convo_id = message.ConversationID
            message_body = message.body.replace("_", " ")
            row = [convo_id, rec_year, rec_month, 
                   rec_day, rec_time, message_body]              
    return row

标签: python-3.xoutlookwin32com

解决方案


推荐阅读