温馨提示×

Debian Postman如何自定义邮件签名

小樊
38
2025-12-14 18:15:34
栏目: 智能运维

澄清与定位 Postman 是用于 API 开发与测试 的工具,本身不提供电子邮件撰写与发送功能,因此不存在在 Postman 里设置“邮件签名”的选项。如果你的诉求是“在 Debian 上发送带自定义文本签名的邮件”,应使用邮件客户端(如 Thunderbird、Evolution)或搭建邮件服务器(如 Postfix + OpenDKIM)来实现。

方案一 使用邮件客户端设置文本签名

  • Thunderbird
    • 打开 Thunderbird → 右上角菜单 ≡ → Account Settings(账户设置)。
    • 选择你的邮箱账户 → 在底部 Signature text(签名文本)中输入你的签名(可包含 HTML)。
    • 勾选 Attach the signature to messages(附加签名到消息),按需勾选 Include signature for replies(回复也包含签名)。
    • 保存后新建邮件即可看到签名。
  • Evolution
    • 打开 Evolution → EditPreferences(首选项)→ Mail Accounts(邮件账户)。
    • 选中账户 → 点击 Edit(编辑)→ Compose(撰写)页签。
    • Signature(签名)处选择 TextHTML,输入签名内容;勾选 Automatically attach signature(自动附加签名)。
    • 确认保存,新邮件将自动附带签名。

方案二 搭建邮件服务器并添加 DKIM 签名 若你希望系统级地为外发邮件自动签名(提升可信度与到达率),可在 Debian 上部署 Postfix + OpenDKIM,为出站邮件添加 DKIM 数字签名(注意:这是“数字签名”,不同于可视的“文本签名”)。

  • 安装组件
    • sudo apt update
    • sudo apt install postfix opendkim opendkim-tools
  • 生成 DKIM 密钥
    • sudo mkdir -p /etc/opendkim/keys/yourdomain.com
    • sudo opendkim-genkey -t -s mail -d yourdomain.com
    • 生成的私钥:/etc/opendkim/keys/yourdomain.com/mail.private
    • 生成的公钥记录内容:/etc/opendkim/keys/yourdomain.com/mail.txt
  • 配置 OpenDKIM
    • /etc/opendkim.conf 关键项:
      • Domain yourdomain.com
      • Selector mail
      • KeyFile /etc/opendkim/keys/yourdomain.com/mail.private
      • Socket inet:12301@localhost
    • 启动服务:sudo systemctl start opendkim && sudo systemctl enable opendkim
  • 配置 Postfix 使用 DKIM Milter
    • /etc/postfix/main.cf 追加:
      • milter_default_action = accept
      • milter_protocol = 6
      • smtpd_milters = inet:localhost:12301
      • non_smtpd_milters = inet:localhost:12301
    • 重启 Postfix:sudo systemctl restart postfix
  • 发布 DKIM 公钥到 DNS
    • 在域名 DNS 中添加 TXT 记录:
      • 名称:mail._domainkey.yourdomain.com
      • 值:将 mail.txt 中括号内的内容合并为一行(去掉引号与换行)。
  • 测试
    • 发送测试邮件,使用 DKIM 验证工具或在线检查器确认 DKIM-Signature 头部存在且通过验证。
    • 可进一步配置 SPFDMARC 记录,提升邮件可信度与合规性。

方案三 如果你指的是 API 请求的签名 Postman 可在 Pre-request Script 中按接口规则生成签名并写入变量,供请求使用(这不是邮件签名)。示例(按参数排序后拼接密钥并取 MD5):

  • Pre-request Script
    • var keys = Object.keys(pm.request.body.raw || {}).sort(); var qs = keys.map(k => ${encodeURIComponent(k)}=${encodeURIComponent(pm.request.body.raw[k])}).join(‘&’); var sign = CryptoJS.MD5(qs + ‘YOUR_SECRET’).toString(); pm.environment.set(‘sign’, sign);
  • 在请求头或参数中使用:Sign: {{sign}} 上述方式适用于对请求参数进行签名,与电子邮件签名无关。

0