从 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从本地主机发送电子邮件?

当我使用 codeigniter 电子邮件类发送电子邮件时显示 html 源的电子邮件

无法使用 codeIgniter 从 gmail smtp 服务器发送电子邮件?

使用 Wamp 在 codeigniter 中发送电子邮件时出错