惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

aimingoo的专栏
aimingoo的专栏
S
Securelist
博客园 - Franky
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
IT之家
IT之家
GbyAI
GbyAI
Microsoft Azure Blog
Microsoft Azure Blog
The Cloudflare Blog
云风的 BLOG
云风的 BLOG
N
News and Events Feed by Topic
AI
AI
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Schneier on Security
Schneier on Security
Attack and Defense Labs
Attack and Defense Labs
Vercel News
Vercel News
腾讯CDC
Google DeepMind News
Google DeepMind News
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
M
MIT News - Artificial intelligence
WordPress大学
WordPress大学
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
N
Netflix TechBlog - Medium
量子位
S
Schneier on Security
Hacker News: Ask HN
Hacker News: Ask HN
Cyberwarzone
Cyberwarzone
S
Security Affairs
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
N
News and Events Feed by Topic
T
Tenable Blog
PCI Perspectives
PCI Perspectives
MyScale Blog
MyScale Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Cyber Attacks, Cyber Crime and Cyber Security
W
WeLiveSecurity
N
News | PayPal Newsroom
P
Proofpoint News Feed
O
OpenAI News
C
CERT Recently Published Vulnerability Notes
B
Blog
Cisco Talos Blog
Cisco Talos Blog
Microsoft Security Blog
Microsoft Security Blog
V
Visual Studio Blog
MongoDB | Blog
MongoDB | Blog
大猫的无限游戏
大猫的无限游戏
A
Arctic Wolf
Y
Y Combinator Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Spread Privacy
Spread Privacy

Liups233の小站

YubiKey OpenPGP 智能卡使用指南 - Liups233の小站 通过 WKD / OPENPGPKEY DNS 记录部署 GPG 公钥 - Liups233の小站 OpenLiteSpeed 安装与建站配置 详细教程 - Liups233 使用 DNSCrypt-Proxy 为 Linux 配置加密 DNS - Liups233 WordPress 7.0 编辑器改回无衬线字体 - Liups233の小站 Redis 数据库权限与 Unix Socket 配置 - Liups233の小站 Cloudflare 设置 mTLS 验证来源拉取 - Liups233の小站 Docker 自建 RustDesk 远程和 API 服务 - Liups233の小站 ChatGPT Go 印度区免费试用白嫖 1 年 - Liups233の小站 使用 S/MIME 证书签名并加密电子邮件 - Liups233の小站 网站域名变更迁移教程/记录 - Liups233の小站 将动漫视频刻录为视频光盘-蓝光/AVCHD DVD - Liups233の小站 百乐 CUSTOM 912 钢笔使用体验 - Liups233の小站 使用 Cloudflare mTLS 用户端凭证保护博客登入页面 - Liups233の小站 Kobo 手动安装 NickelMenu 和 KOReader - Liups233の小站 Kobo 阅读器字典缺字解决 - Liups233の小站 iCloud+ 域名邮箱的注册和使用 - Liups233の小站 9 美元一年的通配符 SSL 证书 - Liups233の小站 宝塔面板 Nginx 启用 Brotli 和 Pagespeed - Liups233の小站 拷贝 DVD/Blu-ray 光盘并使用 MeGUI 压制 - Liups233の小站 Spotify 相较 Apple Music 的优点 - Liups233の小站 欧卡/美卡自定义手排挡位布局 - Liups233の小站 内地居民到港开户汇丰和中银香港全过程 - Liups233の小站 给光驱刷入 LibreDrive 固件解锁区域和加密限制 - Liups233の小站 个人博客适用的 Cloudflare 防火墙和缓存规则 - Liups233の小站 为Kobo阅读器添加Google Drive和Dropbox功能 - Liups233の小站 百乐 PILOT Capless Fermo 钢笔评测 - Liups233の小站 业余无线电 B 类考试笔记 - Liups233の小站 黑白阅读器的绝唱?Kobo Clara BW 简单评测 - Liups233の小站 八重洲 WIRES-X 网络注册与使用教程 - Liups233の小站 异世的同路人 — 恋语 Juliamo 游戏简评 - Liups233の小站 欢迎加入我的 FreeDMR 服务器 - Liups233の小站 低至 6 港币一年的 Club SIM eSIM 保号卡 - Liups233の小站 H310/H710(P)/H810 阵列卡刷写为直通模式 - Liups233の小站
为 WordPress 外发邮件添加 S/MIME 签名 - Liups233の小站
Liups233 · 2025-08-21 · via Liups233の小站
为 WordPress 外发邮件添加 S/MIME 签名

前言

跟着 WordPress 插件新手教程写了第一个插件,功能很简单,也很小众,用于给 WordPress 外发邮件添加 S/MIME 签名,在支持的邮箱应用中就会显示已签名的图标。本文会对插件进行简单的介绍,并讲解如何使用。

S/MIME 可用于电子邮件加解密、签名等,本插件专注于签名功能。电子邮件签名可以让收件人知道该电子邮件确实来自于你,并且中途未经篡改,在诸如更改密码验证等邮件中很实用。

GitHub 页面:https://github.com/liups233/wordpress-smime-email-signing

WordPress 插件页面:https://wordpress.org/plugins/smime-email-signing/

目录

前提条件

  • 本插件仅在单用户 WordPress 网站进行了测试,例如个人博客。在多用户网站上,可能无法正常运行,未来也不一定会尝试兼容多用户网站,主要我个人没有需要。
  • 仅在 PHP 8.3 及以上版本进行了测试。确保您的 PHP 环境已安装 openssl 扩展(通常默认安装)。
  • 我只测试过使用插件(如 FluentSMTP)经过外部 SMTP 服务器发送邮件。

使用教程

获取证书

您可以在各大 CA 的网站申请 S/MIME 证书,我推荐用 Actalis 的免费一年证书用于测试(但不是很安全)。在 Actalis 申请后,您可以下载包含公钥、私钥和证书链的 p12 证书文件。p12 文件的密码将发送至您的邮箱。

下载 p12 格式的 S/MIME 密钥
下载 p12 格式的 S/MIME 密钥

拆分 p12 证书

假设 p12 文件名为 “smime.p12”,请执行以下命令将其分割为独立的密钥。如果你是通过 CSR 方法申请的证书,私钥、公钥、证书链应该本来就是分开的,不需要拆分。

  • 导出私钥:openssl pkcs12 -in smime.p12 -nocerts -out smime.key
    • 系统会提示输入导入密码,即 p12 文件的密码。
    • 随后,您需要输入一个密码来保护导出的私钥。此密码即为插件设置中需要填写的密码。
    • 输入两次以确认。
  • 导出公钥:openssl pkcs12 -in smime.p12 -clcerts -nokeys -out smime.crt
    • 系统将提示输入导入密码,即 p12 文件的密码。
  • 导出证书链:openssl pkcs12 -in smime.p12 -cacerts -nokeys -out certchain.pem
    • 系统将提示输入导入密码,即 p12 文件的密码。

密钥文件开头的 Bag Attributes、subject、issuer 等字段可以保留,不影响。

设置权限

上传密钥文件到服务器后(不要上传到网站根目录下),需要为每个文件设置权限。

  • 私钥:chmod 640 smime.key
  • 公钥:chmod 644 smime.crt
  • 证书链:chmod 644 certchain.pem

插件设置

安装并激活插件后,设置页面将出现在左侧,并带有盾牌图标。您需要填写路径和密码字段,点击保存,即可完成设置。

您可以使用 SMTP 插件中的「发送测试邮件」功能进行测试。

卸载插件后,设置的路径和密码将自动删除。

屏幕截图

WordPress 插件设置-输入密钥路径和密码
插件设置-输入密钥路径和密码
S/MIME 签名在 Apple Mail 上的效果
S/MIME 签名在 Apple Mail 上的效果
S/MIME 签名在 Gmail 上的效果
S/MIME 签名在 Gmail 上的效果

常见问题

Q:插件的原理?
A:使用 PHPMailer 自带的 sign() 方法,在邮件发送前自动签名,示例见此

Q:这样储存明文密码,安全吗?
A:明文密码保存在数据库中,加密的私钥保存在文件系统里,只要两者不被同时入侵应该没问题。我觉得不够安全,但我没有想到更好的办法,欢迎提出建议。

更多其它内容可以回到〈博客主页〉看。

最后修改日期: 2025-12-08

作者