我想在php的电子邮件正文中发送包含图表的电子邮件,但我没有收到。
我已经测试了一些方法,例如图片图表谷歌(已弃用),谷歌图表,jqgraph但没有成功。
答案 0 :(得分:5)
一种解决方案是创建在服务器上生成的静态图像,并在电子邮件中发送该图像。 javascript图表库ZingChart提供了一个特殊的构建,可以与无头服务器端浏览器PhantomJS一起使用,允许您创建图表的png图像。 http://www.zingchart.com/docs/features/phantomjs/
我是ZingChart开发团队的一员,如果您有任何疑问,请告诉我。
答案 1 :(得分:2)
最简单的方法可能是使用静态图像图表生成器。在线有许多不同的服务。为此,我创建了QuickChart,这是Chart.js图表的开源呈现服务。
自从标记了帖子pie-chart
之后,我们就进行Chart.js饼图配置(请参见Chart.js pie chart reference):
{
"type": "pie",
"data": {
"datasets": [
{
"data": [84, 28]
}
],
"labels": ["Data1", "Data2"]
}
}
您可以将此配置放入PHP变量中:
$chartConfig = '{
"type": "pie",
"data": {
"datasets": [
{
"data": [84, 28]
}
],
"labels": ["Data1", "Data2"]
}
}';
URL对https://quickchart.io/chart
端点进行编码:
$chartUrl = 'https://quickchart.io/chart?c=' . urlencode($chartConfig);
然后,使用标准HTML <img>
标签将此URL直接嵌入电子邮件中:
$email_body = "Please see my chart: <img src=\"$chartUrl\" />";
它在下面显示图像!
替代方法包括: