【发布时间】:2022-10-04 17:23:58
【问题描述】:
我正在尝试使用 .htm 文件在 Outlook 电子邮件正文中嵌入本地托管的图片。如果相关,我正在使用win32com.client 包创建电子邮件。
.gif 文件的绝对路径:C:/Users/User/AppData/Roaming/Microsoft/Signatures/some folder/image.gif
.htm 文件内容:
<img src = 'C:/Users/User/AppData/Roaming/Microsoft/Signatures/some%20folder/image.gif>
如果我使用以下代码 sn-p 运行脚本,则创建的电子邮件不包含目标图片
from bs4 import BeautifulSoup
htm_path = 'C:/Users/User/AppData/Roaming/Microsoft/Signatures/signature.htm'
with open(htm_path, 'r', encoding='utf-8') as htm_file:
for img in soup.findAll('img'):
img['src'] = re.sub('%20', ' ', img['src'])
我确信这些问题会导致目标 .gif 文件的绝对路径中出现空格。如果我稍微修改代码以“删除”'%20' 并从包含空格的目录中删除空格(C:/Users/User/AppData/Roaming/Microsoft/Signatures/somefolder/image.gif),整个脚本将按预期运行。.gif 文件嵌入到电子邮件正文中。
from bs4 import BeautifulSoup
htm_path = 'C:/Users/User/AppData/Roaming/Microsoft/Signatures/signature.htm'
with open(htm_path, 'r', encoding='utf-8') as htm_file:
for img in soup.findAll('img'):
img['src'] = re.sub('%20', '', img['src'])
我试图寻找解决方案,但我发现它们都没有奏效。找到的解决方案都没有在本地计算机上托管具有绝对路径的文件。任何帮助,将不胜感激。
注意:我需要在 .htm 文件中定义目标 .gif 文件的绝对路径。否则,outlook 将找不到目标文件。我希望我已经足够具体了。
【问题讨论】:
标签: python html python-3.x outlook html-email