开发者社区 问答 正文

邮件推送邮件内容无法添加图片

邮件推送邮件内容如何添加图片? 

展开
收起
游客hlpaqfcflwwxg 2019-03-19 17:06:12 767 分享 版权
阿里云 AI 助理回答

在使用阿里云邮件推送服务时,若需要在邮件内容中添加图片,需遵循以下规则和操作步骤:

1. 不支持本地图片插入

邮件模板暂不支持直接插入本地图片。如果需要在邮件中展示图片,必须使用网络中允许外链的图片链接,并且链接需以 HTTPS 开头。

操作方法:

  • 将图片上传至支持外链的服务(如网络相册、CDN 或其他图片托管平台)。
  • 获取图片的 HTTPS 链接。
  • 在邮件模板中插入该链接,例如:
    <img src="https://example.com/path/to/your/image.jpg" alt="示例图片">
    

2. 通过 SMTP 发送带图片的邮件

如果您通过 SMTP 方式发送邮件,可以构建 MIME 格式的邮件内容,并将图片作为附件嵌入到邮件正文中。

示例代码(Python 2.7):

from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
import smtplib

# 构建邮件内容
msg = MIMEMultipart('related')
msg['Subject'] = '测试邮件'
msg['From'] = '发件人邮箱'
msg['To'] = '收件人邮箱'

# HTML 正文,引用图片
html = """
<html>
  <body>
    <p>这是一封带有图片的邮件:</p>
    <img src="cid:image1">
  </body>
</html>
"""
msg.attach(MIMEText(html, 'html'))

# 添加图片附件
with open('图片路径.jpg', 'rb') as img_file:
    img = MIMEImage(img_file.read())
    img.add_header('Content-ID', '<image1>')
    msg.attach(img)

# 发送邮件
smtp = smtplib.SMTP('smtpdm.aliyun.com', 80)
smtp.login('发件人邮箱', '密码')
smtp.sendmail('发件人邮箱', ['收件人邮箱'], msg.as_string())
smtp.quit()

3. 注意事项

  • 图片大小限制:如果通过 SMTP 发送带附件的邮件,总大小不得超过 15MB,建议单个附件大小不超过 8MB,否则可能导致发送失败。
  • HTTPS 图片链接要求:确保图片链接为 HTTPS 协议,否则可能无法正常显示。
  • HTML 格式要求:如果需要在邮件中嵌入图片,请确保邮件内容为 HTML 格式,并正确引用图片的 cidsrc 属性。

4. 控制台模板管理中的图片处理

在邮件推送控制台创建模板时,无法直接上传本地图片。您需要先将图片上传至支持外链的服务,获取 HTTPS 链接后,在模板中插入图片链接。例如:

<img src="https://example.com/path/to/your/image.jpg" alt="示例图片">

注意:如果图片链接无效或未使用 HTTPS 协议,图片可能无法正常显示。

总结

  • 控制台模板:仅支持 HTTPS 图片链接,需提前上传图片并获取链接。
  • SMTP 发送:可通过 MIME 格式嵌入图片,支持更灵活的图片展示方式。
  • 重要提醒:确保图片链接有效且符合 HTTPS 要求,避免因链接问题导致图片无法显示。
有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答