使用python在Gmail中嵌入带有图像路径的html

我正在建立一个通知系统,该系统将通过带有图像的html表发送电子邮件。

图像在实际页面中显示良好。 我正在用硒抓取表源(将所有相对路径更改为完整路径)

    for attr in driver.find_elements_by_xpath('//table[@id="mainTable"]/tbody/tr[contains(@id,"cell_")]'):

        #gettin the image link

        imgattr = attr.find_element_by_xpath('.//td[4]/a[1]/img[1]')
        imglink = imgattr.get_attribute('src')

        #changing to full path and setting that with javascript

        driver.execute_script('arguments[0].setattribute("src","{}");'.format(urljoin(root_url,imglink)),imgattr)
        driver.execute_script('arguments[0].setattribute("width","{}");'.format('72'),imgattr)
        driver.execute_script('arguments[0].setattribute("height","{}");'.format('54'),imgattr)

        #getting the element (table) again 
        #with image links changed to full path

        elem = driver.find_element_by_xpath('//table[@id="mainTable"]')
        resp = elem.get_attribute('innerHTML')

现在我正在使用mailgun api发送电子邮件

    r = requests.post(
    "https://api.mailgun.net/version/my domain name/messages",auth=("api","my api key"),data={"from": "mailgun@mydomain","to": ["recipient1@gmail.com","recipient2@gmail.com"],"subject": "random subject","html": resp})

电子邮件没有发送任何问题,但是图像却没有发送,当通过电子邮件发送时,它们的链接也会改变 示例实际页面

使用python在Gmail中嵌入带有图像路径的html

已发送电子邮件检查元素,链接从源更改为空白

使用python在Gmail中嵌入带有图像路径的html

基本上,图像由此改变:

<img src="https://p3.aleado.com/pic/?system=auto&amp;date=2019-11-07&amp;auct=243&amp;bid=70048&amp;number=1&amp;w=72" load_src="https://p3.aleado.com/pic/?system=auto&amp;date=2019-11-07&amp;auct=243&amp;bid=70048&amp;number=1&amp;w=72" border="0" name="img_preview" width="72">

对此:

<img src="https://ci6.googleusercontent.com/proxy/qqR9p1-B2oWM3V-bVJssDVajsvZN9irPqHctnmUr6jTsgKmuZFP30fcTB54a-wtpM_H6rL0K_Fz7huR4oMPVTISpvE7XSJkwwFbFMZc6B2yVviL28WMGzAXGzlso8RHgGTjxGwqGS7_XAQ=s0-d-e1-ft#https://p3.aleado.com/pic/?system=auto&amp;date=2019-11-07&amp;auct=243&amp;bid=70048&amp;number=1&amp;w=72" name="m_-9099380790990105554_img_preview" class="CToWUd" width="72" border="0">

我尝试使用Base64,但是Gmail不支持它,并在其位置显示空白

我在这里做错什么,如何嵌入这些链接?

任何建议都会有所帮助。

预先感谢

qq378755837 回答:使用python在Gmail中嵌入带有图像路径的html

别以为你做错了什么。默认情况下,Gmail下载所有图像并将其放置在代理服务器上。提供图像后,它的速度比Gmail服务器上已经快。根据Litmus的说法,该代理于2013年首次启动。

  

缓存图像后,将从原始服务器下载图像,然后   存储在代理服务器上。缓存图像的后续视图将   始终从代理服务器而不是原始服务器显示,   有效地重新路由所有图片下载以及   图片下载随附的相关跟踪数据。

您可以阅读Litmus here上的全文。

本文链接:https://www.f2er.com/3156396.html

大家都在问