如何使用sendmail命令在发送邮件时添加URL链接
纯文本邮件直接插入URL
如果不需要自定义链接文本,直接把完整URL写入邮件正文即可,绝大多数邮件客户端会自动识别纯文本中的HTTP/HTTPS链接,渲染为可点击的样式,无需额外修改配置。
示例代码:
( echo "To: $ml_address" echo 'From: Mxs <ml@gmail.com>' echo "Subject: Report" echo "mail body" # 直接插入URL即可 echo "报告地址:https://example.com/report/2024" echo "$file_content" ) | /usr/sbin/sendmail -t
自定义超链接文本(点文字跳转)
如果需要实现「点击指定文字跳转URL」的效果,需要将邮件改为HTML格式发送,操作如下:
- 在邮件头新增
Content-Type字段,声明内容为HTML格式 - 正文按照HTML语法编写,超链接使用
<a href="链接地址">显示文本</a>格式
修改后代码示例:
( echo "To: $ml_address" echo 'From: Mxs <ml@gmail.com>' echo "Subject: Report" # 新增HTML格式声明 echo "Content-Type: text/html; charset=utf-8" echo "" # 必须加空行分隔邮件头和正文 echo "<p>mail body</p>" # 插入自定义超链接 echo "<p><a href='https://example.com/report/2024'>点击查看完整报告</a></p>" echo "<p>$file_content</p>" ) | /usr/sbin/sendmail -t
注意事项
如果$file_content中包含<、>、&等HTML特殊字符,需要提前做转义处理,避免破坏HTML结构导致渲染异常。
内容的提问来源于stack exchange,提问作者Raghu
相关产品推荐
相关产品推荐

