如何在 php 的电子邮件中嵌入签名?

How to embed signature into the emails with php?

感谢您花时间阅读本文。

如何使用 php 将签名嵌入到电子邮件中?

事实:

  1. 签名的数据库列是 varchar(max)
  2. 当我在 php 表单签名字段中绘制签名时,它会保存签名数据。

数据库中抓取的签名后数据示例: 数据:image/jsignature;base30,3S7flha3Z55hic5Y5b1vi63Z2952Ybmi40Z44Yaef630034hc5301a9810Z20Y748953112343_3OZ3aef97Y18jhd81Zdk62Y6gh95Z4761Y6b8Zbb52Y2b9Z38k9Y1a94Zdb9Y48j9Z87ee64Y46ih83

  1. 我正在使用php邮件发件人并尝试添加如下签名字段
$mail_message        = '
<b>Doctor’s Signature:</b> '.{DoctorSignature}.' <br>
<b>date:</b> '.{date}.' 
'
  1. 使用 jsignature 作为签名(不是 png)

这是一个用 jsignature 制作的签名,需要这样解析。我不确定这是否适用于 E-Mail 但以下代码应该可以解决问题:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js" integrity="sha512-894YE6QWD5I59HgZOGReFYm4dnWc1Qt5NtvYSaNcOP+u1T9qYdvdihz0PPSiiqn/+/3e7Jo4EaG7TubfWGUrMQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="https://cdn.jsdelivr.net/gh/brinley/jSignature@master/libs/jSignature.min.js"></script>
<div id="PrintSignatureController">
</div>

<script>
$(document).ready(function() {
  $("#PrintSignatureController").jSignature({
    'decor-color': 'transparent',
    'lineWidth': 1,
  });
  $("#PrintSignatureController").jSignature("importData", "data:image/jsignature;base30,3S7flha3Z55hic5Y5b1vi63Z2952Ybmi40Z44Yaef630034hc5301a9810Z20Y748953112343_3OZ3aef97Y18jhd81Zdk62Y6gh95Z4761Y6b8Zbb52Y2b9Z38k9Y1a94Zdb9Y48j9Z87ee64Y46ih83");
});
</script>

我假设 E-Mail 不执行 JavaScript。在这种情况下,我看不到先将签名转换为 base64 的方法,然后可以在标签中使用它。

这不是重点,但可能很有趣: