如何在 php 的电子邮件中嵌入签名?
How to embed signature into the emails with php?
感谢您花时间阅读本文。
如何使用 php 将签名嵌入到电子邮件中?
事实:
- 签名的数据库列是 varchar(max)
- 当我在 php 表单签名字段中绘制签名时,它会保存签名数据。
数据库中抓取的签名后数据示例:
数据:image/jsignature;base30,3S7flha3Z55hic5Y5b1vi63Z2952Ybmi40Z44Yaef630034hc5301a9810Z20Y748953112343_3OZ3aef97Y18jhd81Zdk62Y6gh95Z4761Y6b8Zbb52Y2b9Z38k9Y1a94Zdb9Y48j9Z87ee64Y46ih83
- 我正在使用php邮件发件人并尝试添加如下签名字段
$mail_message = '
<b>Doctor’s Signature:</b> '.{DoctorSignature}.' <br>
<b>date:</b> '.{date}.'
'
- 使用 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 的方法,然后可以在标签中使用它。
这不是重点,但可能很有趣:
感谢您花时间阅读本文。
如何使用 php 将签名嵌入到电子邮件中?
事实:
- 签名的数据库列是 varchar(max)
- 当我在 php 表单签名字段中绘制签名时,它会保存签名数据。
数据库中抓取的签名后数据示例: 数据:image/jsignature;base30,3S7flha3Z55hic5Y5b1vi63Z2952Ybmi40Z44Yaef630034hc5301a9810Z20Y748953112343_3OZ3aef97Y18jhd81Zdk62Y6gh95Z4761Y6b8Zbb52Y2b9Z38k9Y1a94Zdb9Y48j9Z87ee64Y46ih83
- 我正在使用php邮件发件人并尝试添加如下签名字段
$mail_message = ' <b>Doctor’s Signature:</b> '.{DoctorSignature}.' <br> <b>date:</b> '.{date}.' '
- 使用 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 的方法,然后可以在标签中使用它。
这不是重点,但可能很有趣: