Notmuch Sendmail

Notmuch Sendmail

🚀 MCP Notmuch Sendmail

MCP Notmuch Sendmail 作为您的邮件助手,将 Claude 桌面版与您的 notmuch 邮件数据库连接起来,让您可以便捷地搜索、浏览、编写和管理邮件,极大提升邮件处理效率。

🚀 快速开始

依赖安装

pip install markdown-it-py html2text python-notmuch

启动 MCP Sendmail

python3 mcp_sendmail.py

✨ 主要特性

  • 发信:通过 smtplib 发送邮件,支持 HTML 和纯文本格式。
  • 解析邮件:使用 mail-parser 库解析邮件内容,识别邮件头和正文。
  • 模板渲染:使用 Jinja2 模板引擎生成自定义邮件内容。
  • 附件管理:支持添加任意类型的附件文件。
  • 依赖管理:通过 pip 管理所有第三方库,确保兼容性和可维护性。
  • 模块化设计:功能模块独立开发和测试,便于扩展和维护。
  • 模板支持:使用 Jinja2 模板引擎实现邮件内容的动态生成。

📦 安装指南

依赖安装

pip install markdown-it-py html2text python-notmuch

启动 MCP Sendmail

python3 mcp_sendmail.py

💻 使用示例

基础用法

配置 SMTP 信息

config.py 文件中填写您的 SMTP 服务器信息:

_SMTP_SERVER = 'smtp.example.com'
_SMTP_PORT = 587
_SMTP_USERNAME = 'your_email@example.com'
_SMTP_PASSWORD = 'your_password'

发送邮件示例

# 发送纯文本邮件
send_plain_text("收件人邮箱", "邮件主题", "邮件正文内容")

# 发送 HTML 格式邮件
send_html_email("收件人邮箱", "邮件主题", "

HTML 邮件

这是 HTML 格式的邮件正文。

"
, ["attachment1.pdf"])

高级用法

纯文本邮件发送

def send_plain_text(to, subject, body):
msg = MIMEText(body)
msg['Subject'] = subject
msg['From'] = _SMTP_USERNAME
msg['To'] = to

with smtplib.SMTP(_SMTP_SERVER, _SMTP_PORT) as server:
server.starttls()
server.login(_SMTP_USERNAME, _SMTP_PASSWORD)
server.sendmail(_SMTP_USERNAME, [to], msg.as_string())

HTML 格式邮件发送

def send_html_email(to, subject, html_content, attachments=None):
msg = MIMEMultipart('alternative')
msg.attach(MIMEText('', 'plain', 'utf-8'))

templateLoader = jinja2.FileSystemLoader(searchpath="./templates")
templateEnv = jinja2.Environment(loader=templateLoader)
template = templateEnv.get_template("email_template.html")
output_text = template.render()

part = MIMEText(output_text, 'html')
msg.attach(part)

if attachments:
for attachment in attachments:
with open(attachment, 'rb') as file:
part = MIMEBase('application', 'octet-stream')
part.set_payload(file.read())
encoders.encode_base64(part)
part.add_header('Content-Disposition', f'attachment; filename="{os.path.basename(attachment)}"')
msg.attach(part)

with smtplib.SMTP(_SMTP_SERVER, _SMTP_PORT) as server:
server.starttls()
server.login(_SMTP_USERNAME, _SMTP_PASSWORD)
server.sendmail(_SMTP_USERNAME, [to], msg.as_string())

📚 详细文档

项目结构

mcp_sendmail/
├── sendmail.py         # 邮件发送核心逻辑
├── templates/          # HTML 邮件模板文件夹
│   └── email_template.html    # 示例 HTML 邮件模板
└── config.py           # SMTP 服务器配置信息

贡献与支持

  • 问题报告:欢迎提交任何遇到的问题或改进建议。
  • 功能扩展:希望增加更多邮件发送和管理功能。
  • 文档完善:帮助完善项目文档,使更多人能够轻松使用。

通过 MCP Notmuch Sendmail,让 Claude 桌面版成为您强大的邮件管理工具。

  • 0 关注
  • 0 收藏,23 浏览
  • system 提出于 2025-10-03 07:18

相似服务问题

相关AI产品