Не получается прикрепить файл PHPMailer

83
17 августа 2021, 14:40

Форма:

<form action="" class="modal_form" enctype="multipart/form-data"> 
                            <input class="modal_input modal_input--name" type="text" placeholder="Введите имя"> 
                            <input class="modal_input modal_input--phone" type="text" placeholder="Введите телефон"> 
                            <input class="modal_input modal_input--mail" type="text" placeholder="Введите e-mail"> 
                            <input type="hidden" name="MAX_FILE_SIZE" value="30000" /> 
                            <input name="userfile" type="file"> 
                            <textarea class="modal_textarea" name="" id="" cols="30" rows="10" placeholder="Текст заявки"></textarea> 
                            <button type="button" class="modal_btn">отправить заявку</button> 
                        </form>

<?php
require_once __DIR__.'/vendor/autoload.php';

use PHPMailer\PHPMailer\PHPMailer;

if(strlen($_POST['ms'])>4 and strlen($_POST['name'])>1 and strlen($_POST['phone'])>4){
error_reporting(E_ALL);
ini_set("display_errors", 1);
    function send_email($to,$theme,$message){   
        $mail = new PHPMailer(true); // Passing `true` enables exceptions
        $uploadfile = tempnam(sys_get_temp_dir(), hash('sha256', $_FILES['userfile']['name']));
        try {
            //Server settings
            $mail->SMTPDebug = 0; // Enable verbose debug output
            $mail->isSMTP(); // Set mailer to use SMTP
            $mail->CharSet = 'UTF-8';
            $mail->Host = 'smtp.mail.ru'; // Specify main and backup SMTP servers
            $mail->SMTPAuth = true; // Enable SMTP authentication
            $mail->Username = ''; // SMTP username
            $mail->Password = ''; // SMTP password
            $mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
            $mail->Port = 587; // TCP port to connect to
            $mail->SMTPOptions = array(
                'ssl' => array(
                    'verify_peer' => false,
                    'verify_peer_name' => false,
                    'allow_self_signed' => true
                )
            );  
            //Recipients
            $mail->setFrom('', '');
            $mail->addAddress('', ''); // Add a recipient
            $mail->isHTML(true); // Set email format to HTML
            $mail->Subject = 'Customer order Corplex';
            $mail->Body = 'Name: '.$_POST['name'].'<br /> Phone: '.$_POST['phone'].'<br /> Message: '.$_POST['ms'].'<br /> E-mail: '.$_POST['mail'];
            $mail->addAttachment($uploadfile, $_FILES['userfile']['name']);
            $mail->AltBody = 'Application';
            $mail->send();
            echo '+';
        } catch (Exception $e) {
            echo 'Message could not be sent. Mailer Error: ', $mail->ErrorInfo;
        }

    }
    if(send_email('uzi.no.uzi.web@gmail.com','Заказ', 'Имя:'.$_POST['name'].'. <br >Cообщение: '.$_POST['ms'].'. <br> Почта: '.$_POST['mail'])){
        echo "+";
    }
}
?>

В ответе получаю такие ошибки

Notice: Undefined index: userfile in W:\domains\new.loc\wp-content\themes\uslugi\send_t.php on line 16

Notice: Undefined index: userfile in W:\domains\new.loc\wp-content\themes\uslugi\send_t.php on line 42 Message could not be sent. Mailer Error: Could not access file: uploads/

В чем проблема?

READ ALSO
Java annotations for field

Java annotations for field

Мне нужно аннотировать поле, которое используется в разных классахКак можно аннотировать его так, чтобы в одном классе возвращалось его...

196
Идея не видит Switch

Идея не видит Switch

Прописываю в идее эллементарный код со свитчемНо мне идея выдает,что она якобы не видит метод Switch

261
Не запускается приложение Android

Не запускается приложение Android

Ребят, помогите пожалуйстаПри запуске, написанного приложения, выскакивает уведомление, что в работе приложения произошел сбой

223