Бесплатная миграция IT-инфраструктуры в облако

Как использовать SMTP-сервер Google

Команда Timeweb Cloud
Команда Timeweb Cloud
Наши инженеры, технические писатели, редакторы и маркетологи
07 июня 2022 г.
13610
8 минут чтения
Средний рейтинг статьи: 5

SMTP — simple mail transfer protocol — дословно переводится как «простой протокол передачи почты». Из названия понятно, что его используют для отправки электронной почты и доставки писем адресату. 

Что такое SMTP-сервер?

SMTP-сервер — это сервер, который отвечает за корректную работу протокола. Его главная задача — быть ретранслятором между отправителем и получателем. Она заключается в выполнении каждой из двух ключевых функций:

  1. Проверка корректности конфигурации и выдача разрешения устройству, которое пытается отправить сообщение.
  2. Отправка сообщения на указанный адрес и получение кода ответа.

На этом зона ответственности SMTP-сервера заканчивается, его функционал рассчитан только на отправку писем. За получение почты на стороне адресата отвечают протоколы POP3 и IMAP. 

Примерный пошаговый алгоритм отправки письма выглядит так:

  1. Сервер отправителя получает необходимые данные — адреса отправителя и получателя и само сообщение, содержащее необходимые поля.
  2. Сервер отправителя ищет адресата, определяя почтового провайдера по электронному адресу, и запрашивает его IP-адрес.
  3. Сервер-отправитель получает ответ от сервера-получателя. 

Если со стороны получателя нет ответа, сервер ещё несколько раз пытается установить соединение. В случае, если ответа всё ещё нет — возвращает код ошибки.

Image1

Стандартный порт для работы SMTP — 25. Но помимо него также используются 465 и 587 порты для защищённого SSL-соединения и обязательной аутентификации соответственно. Отдельно стоит отметить, что некоторые провайдеры блокируют 25 порт, чтобы предотвратить спам-рассылки, уточняйте этот вопрос индивидуально. 

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

Cloud

Плюсы использования SMTP-сервера Google

Стоимость. Один из самых очевидных плюсов — использование Google SMTP абсолютно бесплатно, достаточно иметь аккаунт в системе. 

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

Резервное копирование. Кроме того, вы не несёте ответственность за бесперебойность работы сервера — если что-то «упадёт» среди ночи, этим займутся специалисты Google. Они также обязаны делать резервное копирование отправленной и полученной почты, освобождая вас от головной боли с сохранением ценной и конфиденциальной информации. 

Индексация. Дополнительным плюсом хранения почты на серверах Google также является то, что индексация и поиск производятся с помощью вычислительных мощностей корпорации. При использовании одного и того же SMTP Gmail автоматически разместит письма в отправленных и полученных — вся почта будет отображаться в едином месте. 

Спам. Борьба со спамом — одна из самых больших проблем при создании собственного почтового сервера. Используя собственный SMTP-сервер, вы должны следить за тем, чтобы ваши письма не попадали в спам. При отправке письма через SMTP-сервер Google вы можете быть уверены, что оно придёт получателю так же, как и обычное письмо с почты gmail. Поскольку Google не использует стандартный 25 порт для отправки писем, вероятность, что провайдер пометит письмо как спам или вовсе заблокирует, снижается. 

Недостатки стороннего SMTP

Хранение на удалённом сервере. Один из самых распространённых страхов по поводу сторонних SMTP-серверов заключается в том, что вся ваша переписка находится под контролем Google. Однако конфиденциальность переписки и хранения почты на собственных серверах всё ещё под вопросом, если вы собираетесь общаться со среднестатистическими пользователями — ведь они вряд ли используют собственные SMTP-серверы.

Лимит. Google ограничивает количество писем в день до 100 штук. Этого вполне хватит, если вы тестируете механизм SMTP-отправок или ваш проект не рассчитан на большие объёмы исходящих писем.

Настройка Google SMTP 

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

Image3

Для работы почты вам понадобится следующий список настроек Google SMTP-сервера:

  1. Сервер SMTP (сервер исходящей почты): smtp.google.com
  2. Имя пользователя SMTP: полный адрес вашей электронной почты
  3. Пароль SMTP: пароль вашей учётной записи Google или кодовое слово, которое вы указали при регистрации приложения.
  4. Порт SMTP: 465
  5. Требуется SMTP TLS/SSL?: да

Обратите внимание, что Google будет автоматически перезаписывать заголовок From любого письма, которое вы отправляете через SMTP-сервер, если оно не совпадает с вашим адресом по умолчанию. Так, если вы при отправки указали несуществующий адрес электронной почты, Google заменит его на ваш. Такое поведение является стандартным, но вы можете регулировать его в настройках почты. 

Почтовые клиенты

Кроме автоматизированной отправки писем с помощью SMTP-сервера Google вы также можете использовать данные для подключения к почтовым клиентам — например, Thunderbird или Outlook. Так вы сможете отправлять электронные письма не через браузер или стандартный клиент Google.  

Но обратите внимание, чтобы получать почту с вашего Google-аккаунта в другом клиенте, вам нужно использовать POP3 или IMAP. Параметры протоколов находятся в там же, где и все настройки почты Gmail в разделе «Переадресация и POP/IMAP»

Тестирование отправки

Для того, чтобы протестировать конфигурацию, которую мы привели для настройки, напишем простой PHP-скрипт. Почту будем отправлять с помощью пакета phpmailer, установим его через менеджер зависимостей Composer:

composer require phpmailer/phpmailer

Далее создадим файл index.php, в котором укажем настройки SMTP-сервера и попробуем отправить тестовое письмо. 

<?php
error_reporting(E_ALL); # выводим ошибки
// Подключаем phpmail                
require dirname(__FILE__) . '/vendor/autoload.php';

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;

$mail = new PHPMailer(true);
// Указываем, что нужно использовать SMTP
$mail->isSMTP();

// В целях отладки включаем вывод результатов на страницу отправки
$mail->SMTPDebug = 2;
$mail->Debugoutput = 'html';

// Указываем доступы к SMTP
$mail->Host = 'smtp.gmail.com'; # хост
$mail->Port = 587; # порт
$mail->SMTPSecure = 'tls'; # шифрование
$mail->SMTPAuth = true; # авторизация
$mail->Username = "user@gmail.com"; # логин
$mail->Password = "62584jattjjtmxnpwf124"; # полученный пароль

// Получатели и отправители
$mail->setFrom('test-mail@timeweb.com', 'Тестовый отправитель Timeweb'); # от кого
$mail->addReplyTo('replyto@example.com', 'First Last'); # адрес для ответа
$mail->addAddress('mail@kulizh.ru', 'Nikita Kulizhnikov'); # кому

// Тема и содержание
$mail->Subject = 'Timweb: test SMTP Google'; # тема
$mail->msgHTML('<h1>Hello, Timeweb</h1>'); # содержание в формате HTML
$mail->AltBody = 'This is a plain-text message body'; # альтернативный текст, если не удастся использовать HTML


// Выводим результат
if (!$mail->send()) {
    echo "Mailer Error: " . $mail->ErrorInfo;
} else {
    echo "Message sent!";
}

Вы можете использовать такой же скрипт, указав свои данные для подключения, а также получателей и обратный адрес Reply-To. 

Теперь исполним PHP-скрипт через браузер, просто запустив страницу. Если всё указано верно, мы увидим подробный вывод результатов отправки письма. 

Image4

Если какие-то доступы мы указаны неверно, PHPMailer отобразит сообщение об ошибке.

Image2

Откроем почтовый клиент, посмотрим, пришло ли письмо. Всё в порядке, видим, что письмо получено. Также мы увидим его в списке отправленной почты в клиенте Gmail. 

Image5

Поднимите свой почтовый сервер в Timeweb Cloud

Заключение

В этой статье мы рассмотрели преимущества использования SMTP-сервера Google. Среди них отсутствие расходов на настройку и обслуживание (услуга бесплатная), надёжное резервное копирование, а также гарантия непопадания в спам-листы.

Кроме того, в целях тестирования мы написали простой PHP-скрипт, на примере которого продемонстрировали работоспособность отправки.

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

Кстати, в официальном канале Timeweb Cloud собрали комьюнити из специалистов, которые говорят про IT-тренды, делятся полезными инструкциями и даже приглашают к себе работать. 

Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server
07 июня 2022 г.
13610
8 минут чтения
Средний рейтинг статьи: 5
Пока нет комментариев