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

推荐订阅源

罗磊的独立博客
T
Tor Project blog
T
The Exploit Database - CXSecurity.com
T
Threat Research - Cisco Blogs
G
GRAHAM CLULEY
AWS News Blog
AWS News Blog
A
Arctic Wolf
D
Darknet – Hacking Tools, Hacker News & Cyber Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
WordPress大学
WordPress大学
雷峰网
雷峰网
P
Privacy International News Feed
Hugging Face - Blog
Hugging Face - Blog
S
Schneier on Security
M
MIT News - Artificial intelligence
C
Cybersecurity and Infrastructure Security Agency CISA
宝玉的分享
宝玉的分享
Recorded Future
Recorded Future
P
Proofpoint News Feed
Cisco Talos Blog
Cisco Talos Blog
Recent Announcements
Recent Announcements
博客园 - Franky
云风的 BLOG
云风的 BLOG
A
About on SuperTechFans
酷 壳 – CoolShell
酷 壳 – CoolShell
K
Kaspersky official blog
V2EX - 技术
V2EX - 技术
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
GbyAI
GbyAI
Application and Cybersecurity Blog
Application and Cybersecurity Blog
V
V2EX
量子位
月光博客
月光博客
V
Visual Studio Blog
Spread Privacy
Spread Privacy
The Cloudflare Blog
T
Troy Hunt's Blog
博客园 - 三生石上(FineUI控件)
N
Netflix TechBlog - Medium
L
LINUX DO - 热门话题
Webroot Blog
Webroot Blog
T
Threatpost
J
Java Code Geeks
N
News and Events Feed by Topic
L
LINUX DO - 最新话题
L
LangChain Blog
Martin Fowler
Martin Fowler
TaoSecurity Blog
TaoSecurity Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint

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

作者