You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux环境下如何发送含内嵌图片的Jupyter生成HTML邮件正文?

Hey, 我刚好折腾过类似的需求,给你分享两种在Linux环境下把带内嵌图片的HTML作为邮件正文发送的靠谱方法,亲测好用:

方法一:用命令行工具(mutt)快速发送

如果你只是想快速测试或者偶尔发送,用mutt工具最方便。首先确保你已经安装了mutt(Debian/Ubuntu用sudo apt install mutt,RHEL/CentOS用sudo yum install mutt)。

因为你已经用jupyter nbconvert生成了内嵌图片的单个HTML(图片是base64编码的data URI格式),所以直接用下面的命令就能发送:

mutt -e "set content_type=text/html" -s "你的Notebook报告标题" -- 收件人邮箱@xxx.com < 你的生成文件.html
  • -e "set content_type=text/html":告诉mutt邮件正文是HTML格式
  • -s:指定邮件主题
  • 最后用<读取HTML文件作为正文内容
方法二:用Python脚本实现自动化发送

如果要配合定期任务(比如cron)自动运行,Python脚本会更灵活可控。这里用smtplib和email标准库,不需要额外安装依赖:

import smtplib
from email.mime.text import MIMEText
from email.header import Header

# ---------------------- 配置信息 ----------------------
SMTP_SERVER = 'smtp.xxx.com'  # 你的SMTP服务器地址,比如smtp.gmail.com
SMTP_PORT = 587  # TLS端口一般是587,SSL端口用465
SENDER_EMAIL = '你的邮箱@xxx.com'
SENDER_PWD = '你的邮箱密码/应用密码'  # 比如Gmail需要用应用密码,不是登录密码
RECIPIENT_EMAIL = '收件人邮箱@xxx.com'
EMAIL_SUBJECT = '定期生成的Notebook分析报告'
HTML_FILE_PATH = '你的生成文件.html'
# ------------------------------------------------------

# 读取内嵌图片的HTML文件内容
with open(HTML_FILE_PATH, 'r', encoding='utf-8') as f:
    html_body = f.read()

# 构建HTML格式的邮件对象
msg = MIMEText(html_body, 'html', 'utf-8')
msg['From'] = Header(SENDER_EMAIL)
msg['To'] = Header(RECIPIENT_EMAIL)
msg['Subject'] = Header(EMAIL_SUBJECT, 'utf-8')

# 发送邮件
try:
    # 连接SMTP服务器,启用TLS加密
    server = smtplib.SMTP(SMTP_SERVER, SMTP_PORT)
    server.starttls()
    server.login(SENDER_EMAIL, SENDER_PWD)
    # 发送邮件
    server.sendmail(SENDER_EMAIL, RECIPIENT_EMAIL, msg.as_string())
    print("✅ 邮件发送成功!")
except Exception as e:
    print(f"❌ 邮件发送失败:{str(e)}")
finally:
    server.quit()

额外注意点:

  1. 确保你用nbconvert生成HTML时加了--embed-images参数,这样图片才会被转成base64内嵌到HTML里,命令示例:
    jupyter nbconvert --to html --embed-images 你的Notebook.ipynb
    
  2. 如果用Python脚本配合cron定期运行,记得给脚本加执行权限,并且在cron任务里指定完整的文件路径(比如/home/xxx/your_script.py)。

内容的提问来源于stack exchange,提问作者fatdragon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:46:46