jenkins发送的html邮件中保留显示文本中的换行

在发送邮件的jenkins工程中,邮件内容中有一段版本说明是用户输入的文本,为了支持多行描述,用的是jenkins的文体参数,但是调试时发现输入的多行文本在邮件中被显示成了一行。

 

如下为最后一行的html模板

<tr  height="21">

  <td  align="left" class="xl67" height="42" rowspan="2" valign="middle" width="156" style="padding-top:1.0px;padding-right:1.0px;padding-left:1.0px;color:#ff0000;font-size:16.0px;font-weight:400;font-style:normal;text-decoration:none solid #ff0000;font-family:等线;border:1.0px solid #666666;">版本更新说明</td>

  <td  align="left" class="xl68" colspan="5" rowspan="2" valign="middle" width="591" style="padding-top:1.0px;padding-right:1.0px;padding-left:1.0px;color:#000000;font-size:16.0px;font-weight:400;font-style:normal;text-decoration:none solid #000000;font-family:等线;border:1.0px solid #666666;">${description}</td>

 </tr>

如何才能够使文本内容自动换行呢?

首先想到的是将文本中的/r/n替换为<br>,可以先用shell脚本替换好,或者应用js语法在页面加载时替换,这些都需要费此功夫,所以有没有更好的办法呢?

网上搜了一下,果真有更简单的方法,即应用CSS white-space 属性,将style="white-space:pre-wrap;"即可。

 <td  align="left" class="xl68" colspan="5" rowspan="2" valign="middle" width="591" style="padding-top:1.0px;padding-right:1.0px;padding-left:1.0px;color:#000000;font-size:16.0px;font-weight:400;font-style:normal;text-decoration:none solid #000000;font-family:等线;border:1.0px solid #666666;white-space:pre-wrap;">${description}</td>

没想到有些看起来比较头疼的问题,解决起来竟然这么简单。

更多的white-space属性值及含义参考如下:

CSS white-space 属性

描述

normal

默认。空白会被浏览器忽略。

pre

空白会被浏览器保留。其行为方式类似 HTML 中的 <pre> 标签。

nowrap

文本不会换行,文本会在在同一行上继续,直到遇到 <br> 标签为止。

pre-wrap

保留空白符序列,但是正常地进行换行。

pre-line

合并空白符序列,但是保留换行符。

inherit

规定应该从父元素继承 white-space 属性的值。

参考:

https://cloud.tencent.com/developer/ask/167646

https://blog.youkuaiyun.com/weixin_34015336/article/details/92377186

### 如何在 Jenkins 中配置邮件通知以包含附件 #### 使用 Email Extension 插件实现带附件的邮件通知 为了使 Jenkins 能够发送带有附件的通知邮件,推荐安装并使用 **Email Extension Plugin**。此插件不仅解决了默认邮件服务功能不足的问题[^2],还提供了更丰富的定制选项。 #### 安装 Email Extension 插件 通过 Jenkins 的管理界面,在“Manage Jenkins -> Manage Plugins”下找到 Email Extension 插件并完成安装过程。 #### 配置全局设置 前往 `Manager Jenkins -> Configure System` 进行基本设定: - 设置 SMTP server 和端口。 - 输入系统管理员邮箱地址作为未来的发信源[^1]。 这些基础配置确保了整个系统的邮件服务能力正常运作。 #### Job级别的具体配置 对于希望添加附件的具体项目 (Job),按照以下方式进行个性化调整: 进入目标项目的配置页面, 添加构建后的操作步骤 "Editable Email Notification"[^3]: ```bash # 增加构建后动作中的可编辑邮件通知部分 Post-build Actions -> Add post-build action -> Editable Email Notification ``` 在此处可以进一步细化邮件的内容和行为,特别是针对附件的支持: - 在 “Attachments” 字段中输入要附加文件路径模式。支持通配符来匹配多个文件。例如 `/path/to/artifacts/*.zip` 将会把所有位于指定目录下的 .zip 文件都加入到邮件里。 ```plaintext Attachments: /var/lib/jenkins/workspace/${JOB_NAME}/build-output/**/*.* ``` 上述命令表示将工作空间内特定子目录里的全部文件打包成附件随同邮件发出。 - 可选地启用压缩功能以便更好地处理大量小型文件或将大尺寸单个文件分割传输。 最后保存更改即可生效新的邮件策略。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值