ОТПРАВКА ФАЙЛА НА ПОЧТУ PHP AJAX

Отправка файла на почту при помощи PHP и AJAX может осуществляться посредством использования библиотеки PHPMailer и технологии AJAX для обеспечения более плавной загрузки файла на сервер. Для начала необходимо создать HTML-форму для выбора файла и ввода email-адреса получателя:


<form id="uploadForm">
    <input type="file" name="file" id="file" />
    <input type="email" name="email" id="email" placeholder="Email" />
    <input type="submit" name="submit" id="submit" value="Отправить" />
</form>

Затем необходимо написать PHP-скрипт, который будет выполнять отправку файла по выбранному адресу электронной почты. Для этого используем библиотеку PHPMailer:


<?php
    require 'phpmailer/PHPMailerAutoload.php';
    $mail = new PHPMailer();
    $mail->isSMTP();
    $mail->SMTPDebug = 0;
    $mail->Host = 'smtp.gmail.com';
    $mail->Port = 587;
    $mail->SMTPSecure = 'tls';
    $mail->SMTPAuth = true;
    $mail->Username = 'your_email@gmail.com';
    $mail->Password = 'your_password';
    $mail->setFrom('your_email@gmail.com');
    $mail->addAddress($_POST['email']);
    $mail->Subject = 'Отправка файла';
    $mail->Body = 'Вам отправлен файл';
    $mail->addAttachment($_FILES['file']['tmp_name'], $_FILES['file']['name']);
    if(!$mail->send()) {
        echo 'Ошибка отправки файла: ' . $mail->ErrorInfo;
    } else {
        echo 'Файл был успешно отправлен на почту';
    }
?>

Наконец, добавляем JS-код для AJAX-запроса на сервер для отправки файла:


document.getElementById('uploadForm').addEventListener('submit', function(event) {
    event.preventDefault();
    var form = document.getElementById('uploadForm');
    var formData = new FormData(form);
    var xhr = new XMLHttpRequest();
    xhr.onreadystatechange = function() {
        if (this.readyState === 4 && this.status === 200) {
            alert(this.responseText);
        }
    };
    xhr.open('POST', 'sendfile.php', true);
    xhr.send(formData);
});

Как отправлять файлы с сайта на почту - SMTP скрипт

Отправляем HTML формы через AJAX на JS/PHP

Отправка данных без перезагрузки страницы. PHP + Ajax (jQuery)

jQuery Form Validation before Ajax submit - Laravel

Отправка формы на почту. Верстка валидация и отправка формы без перезагрузки. AJAX. PHPMailer.

Мультизагрузка файлов на php через ajax

Готовая форма отправки письма без перезагрузки страницы PHP AJAX

Как отправлять заявку с сайта на почту? SMTP скрипт отправки писем

Как отправить файл с сайта на почту? Форма с вложением PHP JavaScript

Как отправить POST запрос с помощью AJAX и получить ответ PHP

Реклама
Новое
Реклама