我们公司有一个客户服务(CS)流程,在客户报告我们的软件错误之后,我们将收到一封有关其投诉的电子邮件,该投诉涉及通用主题(“用户提交的错误”)和错误的简短说明。然后,我们解决问题并通过电子邮件发送给客户。一个问题可能有1封邮件,或我们的CS部门与客户之间来回发送多封电子邮件。
我的python scrip使用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