Sendgrid PHP / PHPMailer - 附件未添加到电子邮件

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

我使用下面的代码来获取并将我的文件输入文件上传到服务器位置。我没有错误,但是附件在发送时没有添加到电子邮件中?

这是我的代码:

HTML

<input type="file" name="fileinput_name" id="fileinput_name"/>

PHP

if (array_key_exists('fileinput_name', $_FILES))
      {

        $uploadfile = move_uploaded_file($_FILES["fileinput_name"]["tmp_name"],"uploadtmp/" . $_FILES["fileinput_name"]["name"]);

        if (move_uploaded_file($_FILES['fileinput_name']['tmp_name'], $uploadfile)) {
           // Attach the uploaded file
            $fileinputname = "uploadtmp/" . $_FILES["fileinput_name"]["name"];
            $mail->addAttachment($uploadfile, $fileinputname);

        }
      }

邮件发送成功,PHP 日志中没有错误。

另外,如果有人有一种在邮件发送后删除文件的方法,或者我可以在根本不上传到服务器的情况下实现此目的的方法,那就太好了?

我已经尝试过这些标记的答案,但仍然无法附加到邮件:

phpMailer 附件不起作用

php phpmailer sendgrid
1个回答
0
投票

在 phpmailer 中添加附件的语法是

addAttachment($path,$name);

例如

$mail->addAttachment('uploads/image.jpg', 'new.jpg');

对于您的情况, $uploadfile 是 move_uploaded_file 函数的轮次,这不是实际路径。

所以改变

$mail->addAttachment($uploadfile, $fileinputname);

$mail->addAttachment($fileinputname , $_FILES["fileinput_name"]["name"]);
© www.soinside.com 2019 - 2024. All rights reserved.