TechBlogSD - Все для WordPress и WEB разработки
WEB и WordPress инструкции, новости, обзоры тем и плагинов

Отправка электронной почты с использованием SMTP-серверов Gmail и Amazon SES через PHPMailer

1 824

Возможность отправки электронной почты является одной из наиболее желательных и (иногда) важных функций для любых современных веб-приложений. От отправки электронной почты для « проверки электронной почты » до отправки уведомлений, счетов-фактур или информационных бюллетеней, он имеет очень много применений.

В этой статье я расскажу, как отправлять электронную почту с помощью встроенной функции PHP, каковы ее ограничения и как использовать PHPMailer. Кроме того, я также покажу, как отправлять электронную почту, используя SMTP-серверы Gmail и Amazon SES через PHPMailer.

Отправка писем с помощью функции PHP mail()

Вы можете использовать функцию mail() для отправки электронной почты с помощью PHP. Следует следующий синтаксис:

bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )

Первые три параметра ($to, $subject и $message) являются обязательными, а остальные параметры являются необязательными.

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

Кроме того, вам необходимо правильно составить сообщение перед отправкой. Ну и плюс не забывайте что, отправка электронных писем и вложений на основе HTML – это кошмар.

Начало работы с PHPMailer

PHPMailer – это библиотека классов для PHP, которая предоставляет набор функций для создания и отправки сообщений электронной почты. Это одна из лучших альтернатив функции mail().

Чтобы использовать эту библиотеку, загрузите ее отсюда . Скопируйте классы class.phpmailer.php и class.smtp.php в папку вашего проекта.

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

Вы можете отправить вложение, добавив следующий код:

SMTP с PHPMailer

Интегрированная реализация PHPMailer SMTP позволяет отправлять электронную почту на различные платформы без локального почтового сервера. Вы можете использовать почтовый сервер другого хоста для отправки электронной почты. Для использования SMTP необходимо добавить и обновить следующие фрагменты:

Чтобы отправлять электронную почту с помощью Gmail SMTP, измените узел на «smtp.gmail.com», порт «465». Используйте имя пользователя и пароль своей учетной записи Gmail для аутентификации. Вот функция:

Теперь, когда у вас есть код для отправки электронной почты с помощью Gmail SMTP, вы можете запустить его на своем сервере. Однако даже при правильных учетных данных вы все равно можете получить сообщение об ошибке «ОШИБКА: пароль не принят с сервера ». Серверы Google блокируют сервер, пытающийся пройти аутентификацию, в качестве меры безопасности.

Исправлена ​​ошибка, при которой пароль Gmail не принимался с сервера

Чтобы устранить эту проблему, убедитесь, что вы вошли в систему с использованием той же учетной записи Gmail в браузере, а затем просто перейдите по этой ссылке.
https://accounts.google.com/b/0/DisplayUnlockCaptcha

Это приведет вас на страницу, чтобы разрешить аутентификацию.

SMTP-аутентификация в Gmail

Нажмите кнопку « Продолжить» , чтобы включить доступ к учетной записи. Теперь попробуйте отправить письмо с вашего сервера. 

Точно так же вы можете отправить электронную почту, используя Amazon SES SMTP. Для этого используйте соответствующее значение для хоста , порта , имени пользователя и пароля .

Хост будет похож на «email-smtp.us-east-1.amazonaws.com» в зависимости от конфигурации вашей учетной записи Amazon SES.

Источник записи: https://thedebuggers.com

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее