php mail_runner 从文件夹而不是数据库字段发送附件

问题描述 投票:0回答:0

我正在尝试编写一个 php 脚本,该脚本使用 php mail_runner 发送附件,附件来自子目录中的文件。

这是多步骤方法的一部分,我使用 imagettftext 获取模板 jpg 培训证书,用学习者数据填写它,然后将文件保存到服务器,我已经这样做了,例如:

    $filenamedate = date('Ymdhi');
    $file=$filenamedate." ".$name." (".$CourseDescription .")";
    $file_path="Certificates/".$file.".jpg";

是否成功将.jpg保存到/Certificate文件夹中,以下文件名为例:

202303070135 Jonathan Green(D1 司机政策和规则).jpg

我可以使用 mail_runner 发送基本的电子邮件,这对于这个项目来说是必须的,这包括正常的字段,例如 to、msg、from 等

但是,我正在努力让代码能够附加上面保存的文件。我正在尝试的大致是:

$from = "[email protected]";
$to = "[email protected]";
$msg = "Test Documents Attached.";
$subject="Documents";
 
$attachments = array();
// Attachments description. The 'path'(a path to the attachment) is required. Others parameters are optional:
//'name' overrides the attachment name, 'encoding' sets a file encoding, 'type' sets a MIME type
$attachments = array('path' => getabspath('$file_path'),
                  'name' => 'testcertificate.jpg',
                  'encoding' => 'base64',
                  'type' => 'application/octet-stream');
 
$ret = runner_mail(array('from' => $from, 'to' => $to, 'subject' => $subject, 'body' => $msg, 'attachments' => $attachments));

不幸的是,这不起作用并给我以下错误:

致命错误:未捕获的类型错误:无法访问字符串类型的偏移量 在弦上

我所做的唯一其他修改导致电子邮件以附件形式发送,但无法打开它。

那么,我需要做什么才能从服务器抓取这个文件并作为附件发送?

但是,我正在努力让代码能够附加上面保存的文件。我正在尝试的大致是:

`$from = "[email protected]";
$to = "[email protected]";
$msg = "Test Documents Attached.";
$subject="Documents";
 
$attachments = array();
// Attachments description. The 'path'(a path to the attachment) is required. Others parameters are optional:
//'name' overrides the attachment name, 'encoding' sets a file encoding, 'type' sets a MIME type
$attachments = array('path' => getabspath('$file_path'),
                  'name' => 'testcertificate.jpg',
                  'encoding' => 'base64',
                  'type' => 'application/octet-stream');
 
$ret = runner_mail(array('from' => $from, 'to' => $to, 'subject' => $subject, 'body' => $msg, 'attachments' => $attachments));`

不幸的是,这不起作用并给我以下错误:

致命错误:未捕获的类型错误:无法访问字符串类型的偏移量 在弦上

我所做的唯一其他修改导致电子邮件以附件形式发送,但无法打开它。

那么,我需要做什么才能从服务器抓取这个文件并作为附件发送?

php email attachment
© www.soinside.com 2019 - 2024. All rights reserved.