PHPMailer — Отправка писем и файлов на почту

док ру

PHPMailer является одной из самых популярных библиотек для отправки электронных писем через PHP. Он предоставляет мощные функции для создания и отправки писем, включая возможность прикреплять файлы к письму.​

Установка PHPMailer

Для начала работы с PHPMailer, необходимо скачать его с официального сайта или установить с помощью Composer.​ Для установки с помощью Composer, выполните следующую команду в командной строке⁚

composer require phpmailer/phpmailer

После установки, импортируйте класс PHPMailer в свой скрипт⁚

require 'vendor/autoload.​php';

Пример отправки письма

Вот простой пример кода, демонстрирующий отправку письма с использованием PHPMailer⁚

// Создаем экземпляр класса PHPMailer
$mail = new PHPMailer\PHPMailer\PHPMailer;

// Устанавливаем параметры SMTP сервера
$mail->isSMTP;
$mail->Host = 'smtp.​example.​com';
$mail->Port = 587;
$mail->SMTPAuth = true;
$mail->Username = 'your-email@example.​com';
$mail->Password = 'your-password';

// Устанавливаем отправителя и получателя
$mail->setFrom('your-email@example.​com', 'Your Name');
$mail->addAddress('recipient@example.​com', 'Recipient Name');
// Устанавливаем тему письма и текст
$mail->Subject = 'Hello';
$mail->Body = 'This is a test email';

// Отправляем письмо
if($mail->send) {
   echo 'Email sent successfully!';
} else {
   echo 'An error occurred.​ Please try again later.​';
}

В этом примере мы создаем экземпляр класса PHPMailer и настраиваем параметры SMTP сервера, отправителя, получателя, тему письма и текст.​ Затем, вызываем метод send для отправки письма.​ Если письмо успешно отправлено, выводим сообщение об успехе, в противном случае выводим сообщение об ошибке.

ЧИТАТЬ ЕЩЁ:  Оценка стоимости сайта. Почём и почему Вебмастеру

Прикрепление файлов

PHPMailer также предоставляет возможность прикреплять файлы к письму.​ Для этого используйте метод addAttachment

$mail->addAttachment('/path/to/file.​pdf');

Метод addAttachment принимает путь к файлу на сервере и добавляет его к письму в виде вложения.​

PHPMailer предоставляет простой и удобный способ отправки писем и файлов на почту с помощью PHP. Он обладает широким набором функций и поддерживает различные методы авторизации и шифрования.​ Благодаря этому, вы можете легко интегрировать отправку писем в свои проекты и обеспечить надежную доставку сообщений.

PHPMailer - Отправка писем и файлов на почту

Вы также можете использовать вложения в этих инструкциях, хотя PHPMent был обновлен, и инструкции для предыдущих версий не актуальны. Это работает.

PHPMailer - Отправка писем и файлов на почту

О чем эта инструкция.

Это инструкции о том, как добавить PHPMaer на ваш сайт без перезагрузки страницы и отправить письмо, содержащее файл с вложением.

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

1. Скачиваем PHPMailer

Перейдите на сайт https://github.com/phpmailer/phpmailer, чтобы загрузить последнюю версию.

PHPMailer - Отправка писем и файлов на почту

Для всего файла требуется всего три файла.

Все остальное хранится на github — они вам не нужны, вы можете их удалить.

2. Удаляем из файлов весь хлам

Вы можете пропустить этот пункт. Не требуется.

Файлы, написанные разработчиками phpmailer, содержат огромное количество мусора, состоящего только из комментариев (почему?!). . После удаления комментариев эти три файла имеют вес 196 кб. Вес будет составлять 72 кб. Почти в три раза …

Мы рекомендуем использовать 'PHP Minifctor' для удаления всех комментариев в файлах. Вы можете использовать один из них, я взял в руки (первый, который я нашел) http://php-minify.com.

  1. Откройте файл phpmailer.php.
  2. Скопируйте содержимое файла
  3. Вставьте форму на сайт PHP-Minify и нажмите "Сжать".
  4. Сохраните результаты снова в новом файле с тем же именем
ЧИТАТЬ ЕЩЁ:  Yandex FAQ

Повторите процедуру для всех трех файлов.

Например, файл Exception.php

PHPMailer - Отправка писем и файлов на почту

3. Перемещаем файлы в проект

А теперь поместите эти три файла в наш фрагмент. Мы создали специальную папку для этих файлов под названием Phpmaer

PHPMailer - Отправка писем и файлов на почту

4. Создаём файл конфигурации

С этим содержимым мы создаем файл send.php

Здесь вам нужно отредактировать эти поля под свои нужды.

Нужно использовать не пароль от самой почты, а “Пароль приложения” . В настройках вашей почты, будь то Gmail, Yandex или Mailru— есть раздел “Пароли приложений” , где вы можете специально создать отдельный сгенерированный пароль для PHPMailer.

Сохраните этот файл send.php и поместите его в корень вашего сайта

В данном примере показана конфигурация для Яндекс. Вы можете воспользоваться почтовым грузом. Чтобы изменить сообщение о доставке, например, на. Gmail — вам нужно изменить эти поля:.

$mail->Host = ‘smtp.gmail.com’; // SMTP сервер $mail->SMTPSecure = ‘ssl’; // шифрование $mail->Порт = 465; // Порт.

5. Создаём HTML форму

Теперь давайте поместим эту форму в правильное положение на сайте!

Обратите внимание на OnSubmit. Вторым аргументом должно быть имя файла, которым является send.php.

6. Прописываем JavaScript

Теперь вам нужно разместить эту функцию где-нибудь в вашем коде. Скопируйте его в уже включенный файл пакета или вставьте его после закрывающего ярлыка .

7. Всё (почти)

Теперь ваша форма должна выглядеть следующим образом: .

PHPMailer - Отправка писем и файлов на почту

В случае успеха (или неудачи) появляется сообщение "Сообщение отправлено" или "Ошибка…". вы должны получить всплывающее сообщение от вашего браузера с текстом.

8. Почему ошибка?

Это очень распространенная проблема, о которой можно говорить с абсолютной уверенностью. 60% причины ошибки — гостеприимство, 30% — ваш email, 9% — вы предоставили неверную информацию из своего email, 1% причины — вы гребаный идиот, который решил изменить код, а потом удивляется, почему, черт возьми, все идет не так.

ЧИТАТЬ ЕЩЁ:  PHP и XML

Чтобы выяснить причину, нужно выйти из этой строки кода (// удалить):.

Теперь в браузере нужно открыть консоль (F12) > 'console' и отправьте сообщение. Вы должны увидеть новую строку (список), которую необходимо расширить.

PHPMailer - Отправка писем и файлов на почту

Причина: ошибка: сбой аутентификации: неверный пользователь или пароль! Причина: аутентификация не прошла: неверный пользователь или пароль!

Если вы уверены, что в написании почтовых данных нет ошибки, то для этих строк в виде иероглифов нужно отправить два символа.

Через некоторое время они ответят, и почта начнет успешно отправляться.

После того, настоятельно рекомендую снова закомментировать строчку c $mail->smtpdebug = 2

Оцените статью