如何在邮件中显示二维码图片?
How to display qrcode image in email?
我正在使用 endroid/qr-code https://github.com/endroid/qr-code
生成二维码。
现在我也需要把这个二维码发到我的邮箱。
我使用了以下代码:
$result = Builder::create()
->writer(new PngWriter())
->writerOptions([])
->data("This ist test page.")
->encoding(new Encoding('UTF-8'))
->size(200)
->margin(10)
->roundBlockSizeMode(new RoundBlockSizeModeMargin())
->logoPath($webPath)
->labelText('SCAN')
->build();
return $result->getDataUri();
在我的电子邮件分支页面上,我有
<img src = {{ $return_from_result_getDataUri }} >
我正在从上面的行中获取损坏的 img。
当我使用 {{ $return_from_result_getDataUri }} 时,这会显示 data:image/png;base64.....
文本。
谁能帮帮我。
谢谢。
对在电子邮件中嵌入带有数据 URI 的图像的支持仍然不是最佳的,许多电子邮件客户端根本不支持它。
看到 this analysis from Campaign Monitor 显示许多客户端未呈现数据 URI 图像。
我强烈建议您将二维码上传到某处,然后link将其作为普通图片。
如果您的服务托管在 AWS 上,您可以使用 S3。
否则你可以使用免费服务,但我没有任何经验。这是我找到的第一个结果:https://apidocs.imgur.com/
PS:只是补充一点,您的代码中可能也缺少一些双引号。
<img src="{{ $return_from_result_getDataUri }}" >
<img src = {{ $return_from_result_getDataUri }} >
在PHP中,我们将上面的写成如下
<img src="<?php echo $return_from_result_getDataUri; ?>" >
但这可能不适用于所有电子邮件客户端。有两种方法可以解决这个问题。
方法一:
正如安德里亚提到的那样,将文件保存在某处
$result->saveToFile(`__DIR__`.'/qrcode.png');
然后在 html img 标签中使用 url。
<img src="<?php echo $fullImageUrl; ?>">
方法二:
将图像作为附件嵌入并使用 cid(content id)
引用它
这个解释的很好here
我正在使用 endroid/qr-code https://github.com/endroid/qr-code
生成二维码。
现在我也需要把这个二维码发到我的邮箱。
我使用了以下代码:
$result = Builder::create()
->writer(new PngWriter())
->writerOptions([])
->data("This ist test page.")
->encoding(new Encoding('UTF-8'))
->size(200)
->margin(10)
->roundBlockSizeMode(new RoundBlockSizeModeMargin())
->logoPath($webPath)
->labelText('SCAN')
->build();
return $result->getDataUri();
在我的电子邮件分支页面上,我有
<img src = {{ $return_from_result_getDataUri }} >
我正在从上面的行中获取损坏的 img。
当我使用 {{ $return_from_result_getDataUri }} 时,这会显示 data:image/png;base64.....
文本。
谁能帮帮我。
谢谢。
对在电子邮件中嵌入带有数据 URI 的图像的支持仍然不是最佳的,许多电子邮件客户端根本不支持它。
看到 this analysis from Campaign Monitor 显示许多客户端未呈现数据 URI 图像。
我强烈建议您将二维码上传到某处,然后link将其作为普通图片。
如果您的服务托管在 AWS 上,您可以使用 S3。
否则你可以使用免费服务,但我没有任何经验。这是我找到的第一个结果:https://apidocs.imgur.com/
PS:只是补充一点,您的代码中可能也缺少一些双引号。
<img src="{{ $return_from_result_getDataUri }}" >
<img src = {{ $return_from_result_getDataUri }} >
在PHP中,我们将上面的写成如下
<img src="<?php echo $return_from_result_getDataUri; ?>" >
但这可能不适用于所有电子邮件客户端。有两种方法可以解决这个问题。
方法一: 正如安德里亚提到的那样,将文件保存在某处
$result->saveToFile(`__DIR__`.'/qrcode.png');
然后在 html img 标签中使用 url。
<img src="<?php echo $fullImageUrl; ?>">
方法二: 将图像作为附件嵌入并使用 cid(content id)
引用它这个解释的很好here