从 codeigniter 中的视图发送动态电子邮件附件
Posted
技术标签:
【中文标题】从 codeigniter 中的视图发送动态电子邮件附件【英文标题】:Sending dynamic email attachement from view in codeigniter 【发布时间】:2021-11-04 12:39:59 【问题描述】:我想在电子邮件中附加一个文件。但文件从动态视图中获取。有可能吗?
这是我在 phpmailer 中编写的代码。
$url = 'http://somewebsite.com/parameter';
$binary_content = file_get_contents($url);
if ($binary_content === false)
throw new Exception("Could not fetch remote content from: '$url'");
$mail->AddStringAttachment($binary_content, "test.pdf", $encoding = 'base64', $type = 'application/pdf');
上述代码已成功附加在电子邮件中。但是pdf文件打不开还是报错。
【问题讨论】:
仔细检查您实际获取的是 PDF 可能重复***.com/questions/18753122/… 【参考方案1】:您必须在此处对附件内容使用 base64encode。
$url = 'http://somewebsite.com/parameter';
$binary_content = file_get_contents($url);
if ($binary_content === false)
throw new Exception("Could not fetch remote content from: '$url'");
$file_content = base64encode($binary_content);
$mail->AddStringAttachment($file_content, "test.pdf", $encoding = 'base64', $type = 'application/pdf');
【讨论】:
以上是关于从 codeigniter 中的视图发送动态电子邮件附件的主要内容,如果未能解决你的问题,请参考以下文章
发送 HTML 电子邮件导致电子邮件显示 HTML 源代码(Codeigniter 电子邮件类)
从codeigniter中的数据库查询向视图添加动态数据时未定义的变量[重复]
当我使用 codeigniter 电子邮件类发送电子邮件时显示 html 源的电子邮件