首页 > 解决方案 > 如何使用 python 访问和保存 Outlook 邮件正文中的链接

问题描述

我正在尝试从基于主题“进度仪表板”的 Outlook 邮件中访问链接。邮件正文中有多个链接,但我需要一个名为“Instance_List”的链接并将它们保存为数据框。

示例链接:https://s3.data.com/abc-data-inventory/ABCCloud/2019_09_11/ABCCloud_Asia_Instance_List_2019_09_11.csv

我的最终输出应该是来自上述链接的数据框

尝试了各种代码,有时会出现错误“没有名为'imapclient'的模块”或者只能读取邮件的主题。

附上以下示例代码参考。

import win32com.client
import os
from datetime import datetime, timedelta 
from imapclient import IMAPClient
import mailparser

outlook = win32com.client.Dispatch('outlook.application')
mapi = outlook.GetNamespace("MAPI")

inbox = outlook.GetDefaultFolder(6).Folders.Item("Inbox")
messages = inbox.Items
messages = messages.Restrict("[Subject] = 'Sample Report'")
outputDir = r"C:\CSV_File"

    for message in messages:
        if message.subject == 'Progress Dashboard'
try:
    for message in list(messages):
    try:
        s = message.sender
        for links in message.body:
            links.SaveASFile(os.path.join(outputDir, attachment.FileName))
            print(f"links {file_name} from {s} saved")
    except Exception as e:
        print("error when reading the link:" + str(e))
    except Exception as e:
        print("error when processing emails messages:" + str(e))




标签: pythonoutlook

解决方案


推荐阅读