自定义PHP邮件程序附件未随电子邮件附上
我有自定义邮件功能,其中除了文件附件,其余的东西都工作得很好。为了简化,我只添加了与附件相关的代码。作为输出,我可以看到上传到服务器的文件,但它将附加在电子邮件中。我在电子邮件中得到除文件附件以外的所有详细信息。这是自定义邮件类,我已经创建了,但不知道为什么附件不发送到电子邮件 Mailer.class.php自定义PHP邮件程序附件未随电子邮件附上,php,email,email-attachments,mailer,Php,Email,Email Attachments,Mailer,我有自定义邮件功能,其中除了文件附件,其余的东西都工作得很好。为了简化,我只添加了与附件相关的代码。作为输出,我可以看到上传到服务器的文件,但它将附加在电子邮件中。我在电子邮件中得到除文件附件以外的所有详细信息。这是自定义邮件类,我已经创建了,但不知道为什么附件不发送到电子邮件 Mailer.class.php <?php class Mailer { private $addAttachment = []; public function addAttachment($addAtt
<?php
class Mailer
{
private $addAttachment = [];
public function addAttachment($addAttachment)
{
if (empty($addAttachment))
{
$this->setError('No Attachments','empty');
}else{
$this->addAttachment[] = $addAttachment;
echo $addAttachment;
}
return $this;
}
}
您使用的是哪个版本的PHPMailer?@Martin我在日志中没有看到任何错误上传的文件是否确实存在于指定位置;根据
move\u uploaded\u file()
?@Martin的设置,它完全是定制的PHPMailer,我没有现在添加的addattachment功能。echo$addattachment代码>这看起来不合适
require_once 'Mailer.class.php';
$toemails = array("my_email_address@gmail.com");
$toemail = implode(',', $toemails);
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$attachment = $_FILES["uploaded_file"]["tmp_name"];
$folder = '/uploads/';
$file_name1 = $_FILES["uploaded_file"]["name"];
move_uploaded_file($_FILES["uploaded_file"]["tmp_name"], "$folder".$_FILES["uploaded_file"]["name"]);
print_r($_FILES);
$mailer = new Mailer(true);
$mailer->setToEmail($toemail)
->setFromName(isset($_POST['fname'])?$_POST['fname']:'')
->setFromEmail(isset($_POST['email'])?$_POST['email']:'')
->setSubject('Application Regarding'.$_POST['Title'])
->addAttachment('/uploads/'.$_FILES["uploaded_file"]["name"])
->setBody($body)
->run();
exit();
if(!$mailer->sendMail()) {
echo "Something has gone wrong, please contact the site administrator or try again.";
}
else {
echo "Email Successfully Submitted";
}
print "</pre>";
}
?>
Array
(
[uploaded_file] => Array
(
[name] => Image_Manager.pdf
[type] => application/pdf
[tmp_name] => /tmp/phplBV7gV
[error] => 0
[size] => 150300
)
)