如何将本地部署SMTP服务器与Jenkins及Email Extension插件集成配置
1 前置准备
- 确保本地部署的SMTP服务运行正常,提前记录服务地址、端口、支持的加密类型(无加密/SSL/TLS)、合法发件人账号密码(若SMTP开启身份校验)
- 确认Jenkins服务器和本地SMTP服务器网络连通,可在Jenkins服务器上执行
telnet <SMTP地址> <端口>或nc -zv <SMTP地址> <端口>验证连通性 - Jenkins后台安装
Email Extension Plugin:进入插件管理→可选插件,搜索插件名称安装后重启Jenkins生效
2 全局基础SMTP配置
进入Jenkins后台→Manage Jenkins→Configure System页面:
- 首先找到Jenkins Location配置块,填写System Admin e-mail address,该地址必须是本地SMTP服务允许的发件人地址,否则会发信失败
- 找到E-mail Notification配置块:
- SMTP server字段填写本地SMTP服务的IP或域名
- 点击Advanced展开高级配置:
- 若SMTP需要身份验证,勾选Use SMTP Authentication,填写合法的发件人账号、密码
- 按SMTP支持的加密方式勾选Use SSL或Use TLS,注意SMTP Port字段要和加密方式对应:无加密默认25、SSL默认465、TLS默认587
- Charset字段选择UTF-8,避免中文乱码
- 可勾选Test configuration by sending test e-mail,填写测试收件人地址后点击测试,确认收到测试邮件则基础配置正常
3 Email Extension插件全局配置
还是在Configure System页面,找到Extended E-mail Notification配置块:
- SMTP相关配置建议和上一步的基础SMTP配置保持一致,也可根据需求单独自定义
- 配置全局默认通知规则:
- Default Content Type:推荐选HTML,方便自定义富文本邮件内容
- Default Subject:可配置全局默认邮件标题,支持Jenkins内置变量,比如
$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS - Default Content:可配置全局默认邮件内容,支持插入构建地址、变更记录、日志摘要等变量
- Default Recipients:填写全局默认收件人列表,多个地址用英文逗号分隔
- 点击Advanced Settings→Triggers,配置全局默认触发条件,比如构建失败、构建不稳定、构建恢复正常时触发发信,还可单独配置每个触发条件对应的收件人、主题、内容模板
4 单个Job的通知配置
进入需要配置邮件通知的Job详情页→点击配置:
- 找到Post-build Actions(构建后操作)模块,添加Editable Email Notification
- 若沿用全局配置,只需核对收件人列表即可;也可单独自定义当前Job的邮件主题、内容、收件人规则
- 若需要更灵活的触发逻辑,可进入Advanced Settings→Triggers单独配置当前Job的发信规则,比如仅特定分支构建失败时发信、仅给代码提交人发信等
5 常见问题排查
- 发信失败优先查看Jenkins系统日志,搜索
SMTP或Email Extension相关报错,常见原因包括端口不通、账号密码错误、发件人地址被SMTP服务拦截 - 邮件内容乱码检查全局配置和Job配置中的Charset是否都设置为UTF-8
- 触发规则不生效优先确认Job级别的配置优先级高于全局配置,避免全局规则被Job规则覆盖
内容的提问来源于stack exchange,提问作者kartik
相关产品推荐
相关产品推荐

