Настраиваемое PHP почтовое приложение не прикреплено к электронной почте - PullRequest
0 голосов
/ 27 февраля 2020

Я настроил функцию почтовой программы, где кроме вложений файлов все остальное работает хорошо. Чтобы упростить его, я добавил только код, связанный с вложением. В качестве результата я вижу файл, загруженный на сервер, но он будет прикреплен к электронной почте. Я получаю все детали по электронной почте, кроме вложенных файлов. это настроить почтовый класс, который я создал, но не уверен, почему вложение не отправляется на электронную почту.

Mailer.class. php

<?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;
    }
}

Для отправки тест. php

<code>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 "
";} ?>

print_r ($ _ FILES) дает мне следующие выходные данные для вложения:

Array
(
    [uploaded_file] => Array
        (
            [name] => Image_Manager.pdf
            [type] => application/pdf
            [tmp_name] => /tmp/phplBV7gV
            [error] => 0
            [size] => 150300
        )
  )
...