Смтп протокол: что это и как настроить? Настройка почтовых программ на компьютере Smtp сервис что

В настоящее время в сети Интернет получили высокую популярность бесплатные почтовые сервисы. Зарегистрировавшись в таком сервисе, Вы получаете бесплатный почтовый ящик, работать с которым можно как через веб-интерфейс, так и используя программу для обработки почты, так называемый "почтовый клиент".
В этой статье мы рассмотрим несколько наиболее популярных почтовых сервисов сети Интернет, их особенности (если они есть) и приведем базовые параметры каждого сервиса для настройки работы почтового ящика с локальным почтовым клиентом, типа Outlook Express, TheBAT! и т.д. А так же попробуем ответить на вопрос, можно ли провести сколько-нибудь серьезную массовую рассылку через бесплатные почтовые службы.

MAIL.RU

Начнем со старейшего почтового сервиса Mail.ru. Пройдя простую и понятную процедуру регистрации, Вы получаете почтовый ящик в любом из четырех доменов на Ваш выбор (mail.ru, inbox.ru, bk.ru, list.ru). Размер почтового ящика неограничен, изначально равен 10240 Мб, как только в вашем ящике становится менее 100 Мб свободного места, объем может быть увеличен еще на 2 Гб.
Максимальный размер отправляемого Вами письма не должен превышать 30 Мегабайт, количество получателей письма не более 30.
Для настройки локального почтового клиента по протоколу POP3 используйте следующие параметры:

  • pop.mail.ru ; порт 110 (без шифрования) или 995 (с шифрованием SSL)
  • smtp.mail.ru ; порт 25, 587 или 2525 (без шифрования) и 465 (с шифрованием SSL)
  • , включая логин, значок "@" собачки и домен (например, [email protected]);

К особенностям данного сервиса стоит отнести возможность использовать в настройках нестандартный порт SMTP 2525 (помимо стандартных 25 и 587) для обхода запрета некоторых провайдеров Интернет исходящих TCP-соединений на порту 25 и, увы, полное отсутствие поддержки протокола IMAP.
Ограничения на массовую рассылку сервис не декларирует. Однако, экспериментальным путем выяснилась следующая картина:
после отправки 120 писем наблюдались значительные задержки в доставке почты (до 40 минут), после отправки 182 писем - стала возникать ошибка 553 (сервер не желает передавать почту), которая пропадала через некоторое время (от 5 минут до часа) и возникала снова после отправки письма. Спустя 2-ое суток ограничения продолжали действовать. Не сильно изменилась картина и после отправки ответов на первоначальную рассылку (не более 5-ти писем в час). Использовать бесплатный почтовый сервис Mail.ru, как и любые другие бесплатные почтовые службы, для сколько-нибудь серьезной рассылки нецелесообразно.

Яндекс.Почта

В российском сегменте Интернет пожалуй одним из самых популярных бесплатных почтовых сервисов является Яндекс.Почта.
Сразу после регистрации объем почтового ящика равен 10 гигабайтам. Как только в нём останется менее 200 мегабайт свободного пространства, ящик автоматически увеличится на 1 гигабайт при условии, что пользователь регулярно авторизуется, заходит в веб-интерфейс Яндекс.Почты с помощью браузера.

Следует особо отметить , что для вновь созданного почтового ящика следует сначала разрешить использование протоколов POP3 и (или) IMAP в веб-интерфейсе Яндекс.Почты, прежде чем начать работать с этим ящиком в почтовом клиенте. Эта особенность, к сожалению, очень частая причина отказа в отправке и получении почты в абсолютно правильно настроенном почтовом клиенте! Будьте внимательны!

Итак, приведем базовые параметры для настройки почтовой программы с применением протокола POP3:

  • Сервер входящей почты (Incoming message server POP3-сервер) - pop.yandex.ru , порт 110 (без шифрования) или 995 (с шифрованием SSL)
  • Сервер исходящей почты (SMTP-сервер) - smtp.yandex.ru ; порт 25 или 587 (без шифрования) и 465 (с шифрованием SSL)
  • Имя пользователя (логин) на POP-сервере и на SMTP-сервере - это, в данном случае, первая часть адреса Вашей электронной почты до @yandex.ru , например, если Вы зарегистрировали ящик [email protected], то в качестве имени пользователя следует указать "myname" (без "@yandex.ru")
  • В настройках учетной записи необходимо указать, что сервер исходящей почты (или сервер SMTP) требует авторизации;

Базовые параметры для

  • imap.yandex.ru , порт 143 (без шифрования) или 993 (с шифрованием SSL);

Максимальный размер письма составляет 30 Мегабайт.

К особенностям сервиса следует добавить так называемые "одноразовые" адреса для Вашего e-mail, которые имеют вид "ваш логин+слово@yandex.ru", например, [email protected] или [email protected]. Сообщение, отправленное на такой адрес, попадет в Ваш почтовый ящик. Такая возможность может быть удобна во многих случаях, когда нежелательно сообщать настоящий адрес электронной почты.
Еще одна особенность - почтовые алиасы (псевдонимы) Вашего ящика в доменах @narod.ru, @ya.ru, @yandex.by, @yandex.com, @yandex.kz, @yandex.ua.
Включить и настроить эту возможность можно в настройках Вашего аккаунта на веб-сервере Яндекс.Почты. Впоследствии Вы сможете получать письма на настроенные Вами алиасы. К примеру, Вы создали алиас (псевдоним) [email protected] и [email protected]. Письма, отправленные на эти адреса, будут приходить в Ваш почтовый ящик. Более подробную информацию по этим возможностям следует искать в соответствующем разделе справочной системы Яндекс.Почты.

Ограничения на частоту отправок сервис также не декларирует. В ходе экспериментов оказалось, что после отправки 90 писем возникала ошибка 550, фактически после этого была возможность отправить не более 4 писем в час. Время доставки писем не падало.
Спустя 2-ое суток ограничения также продолжали действовать. На 3-и сутки, после генерации обратных писем возможная скорость доставки на новые адреса превысила 80 писем в час и оставалась такой минимум сутки.

Rambler.ru

Еще один бесплатный почтовый сервис предоставляет поисковый портал Rambler.ru. Для регистрации доступны почтовые ящики в доменах @rambler.ru, @ro.ru, @lenta.ru, @myrambler.ru и @autorambler.ru. Первоначальный объем ящика равен 500 Мегабайт (по факту он оказался равным 512 Мегабайтам). Его можно увеличивать поэтапно до 1500 Мегабайт. Увеличение объема ящика возможно, когда объем свободного пространства будет менее 10%.

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

  • mail.rambler.ru , порт 110 (без шифрования) или 995 (с шифрованием SSL);
  • mail.rambler.ru , порт 25 или 587 (без шифрования или шифрование STARTTLS) и 465 (с шифрованием SSL);
  • Имя пользователя (логин) на POP-сервере и на SMTP-сервере - это полное название вашего почтового ящика , включая логин, значок "@" собачки и домен (например, [email protected]);
  • В настройках учетной записи необходимо указать, что сервер исходящей почты (или сервер SMTP) требует авторизации;

Настройки почтовой программы с применением протокола IMAP идентичны, за исключением сервера входящих сообщений:

  • Сервер входящей почты (Incoming message server IMAP-сервер) - mail.rambler.ru , порт 143 (шифрование STARTTLS) или 993 (с шифрованием SSL);

Не шифрованные соединения по протоколу IMAP в этом сервисе запрещены. К особенностям настройки можно отнести требование к содержимому поля "From:" ("От:") письма: указанный вами адрес электронной почты в настройках почтового клиента, должен совпадать с именем пользователя, которым вы авторизуетесь на SMTP сервере.
Размер файлов, которые можно вложить в письмо, ограничен 20 мегабайтами.

GMAIL.COM

Почтовый сервис поисковика GOOGLE. Новый почтовый ящик имеет размер 7659 Мегабайт без возможности расширения пространства (по крайней мере автору статьи не удалось найти какую-либо информацию о расширении пространства под почту в справочной системе сервиса). Для регистрации доступен только домен gmail.com.
С помощью Gmail можно отправлять и получать сообщения размером до 25 мегабайт. Максимальное количество получателей в письме, отправляемом через почтовую программу ограничено 100 адресами, а через веб-интерфейс - 500 адресами.
К особенностям этого сервиса нужно отнести только шифрованные соединения по протоколам POP3, IMAP и SMTP (причем даже на порту 25 применяется защищенное соединение).
Обратите особое внимание на то, что, как и в случае с Яндекс.Почтой, перед использованием почтового ящика на gmail.com в почтовой программе, необходимо сначала разрешить использование протоколов POP3 и (или) IMAP в настройках аккаунта в веб-интерфейсе на gmail.com!

Для настройки почтовой программы по протоколы POP3 следует использовать следующие параметры:

  • Сервер входящих сообщений (Incoming mail POP3-сервер) - pop.gmail.com , порт 995 (с шифрованием SSL);
  • Сервер исходящих сообщений (Outgoing mail SMTP-сервер) - smtp.gmail.com , порт 25 или 587 (шифрование STARTTLS) и 465 (с шифрованием SSL);
  • Имя пользователя (логин) на POP-сервере и на SMTP-сервере - это полное название вашего почтового ящика , включая логин, значок "@" собачки и домен (например, [email protected]);
  • В настройках учетной записи необходимо указать, что сервер исходящей почты (или сервер SMTP) требует авторизации;

Настройки почтовой программы с применением протокола IMAP идентичны, за исключением сервера входящих сообщений:

  • Сервер входящей почты (Incoming message server IMAP-сервер) - imap.gmail.com , порт 993 (с шифрованием SSL);

Еще одна особенность gmail.com - запрещены к приему и отправке некоторые типы файлов, а именно файлы с расширениями: "ade", "adp", "bat", "chm", "cmd", "com", "cpl", "exe", "hta", "ins", "isp", "jse", "lib", "mde", "msc", "msp", "mst", "pif", "scr", "sct", "shb", "sys", "vb", "vbe", "vbs", "vxd", "wsc", "wsf", "wsh". Причем, такие файлы не принимаются (и не отправляются) даже внутри архивных файлов. Впрочем, при необходимости это ограничение можно обойти, поместив такие файлы в архив, защищенный паролем.

Так же мы будем рады вашим отзывам и комментариям! Спасибо!

Каждый почтовый клиент имеет свой собственный интерфейс для настройки.

Одни программы-клиенты требуют введения всех настроек вручную, другие получают настройки автоматически из базы провайдеров.

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

Чтобы пользоваться услугами почты, нужно зарегистрировать почтовый ящик на сайте провайдера почты, ввести свой логин и пароль для доступа к почте, пароль необходимо запомнить или записать. Ваш электронный адрес будет иметь вид - ваш-логин@сайт-провайдера.

В данной статье вы найдёте сведения о настройках для нескольких популярных провайдеров почты.

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

    Определимся с терминологией, используемой в данной статье:
  • SMTP - Simple Mail Transfer Protocol, дословно - простой протокол передачи почты. Позволяет передавать сообщения с компьютера пользователя на сервер и далее по цепочке серверов.
  • POP3 - Post Office Protocol 3, дословно - протокол почтового отделения. Содержит команды для соединения с сервером и загрузки сообщений на компьютер клиента.
  • IMAP - Internet Message Access Protocol, протокол для доступа к электронной почте. Предоставляет возможность получить доступ к электронным письмам, хранящимся на сервере, не скачивая содержимое писем и вложения на локальный компьютер.
  • Почтовый провайдер (ISP) - электронный адрес сайта, который предоставляет почтовый сервис, например mail.ru . Как правило, сервера входящей и исходящей почты запущены на его поддоменах.
  • Сервер входящей почты - электронный адрес сервера, к которому должен подключиться почтовый клиент для получения почты, например pop.yandex.ru или imap.yandex.ru .
  • Сервер исходящей почты - электронный адрес сервера, к которому должен подключиться почтовый клиент для отправки почты, например smtp.meta.ua .

Настройка входящей почты:

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

Провайдер Сервер входящей почты POP3 № порта POP3 Сервер входящей почты IMAP № порта IMAP
Обычн. SSL Обычн. SSL
rambler.ru mail.rambler.ru 110 995 mail.rambler.ru 143 993
yandex.ru pop.yandex.ru 110 995 imap.yandex.ru 143 993
gmail.com pop.googlemail.com 110 995 imap.googlemail.com 143 993
bigmir.net pop.googlemail.com 110 995 imap.googlemail.com 143 993
meta.ua pop3.meta.ua 110 995 --- --- ---
mail.ru pop.mail.ru 110 995 imap.mail.ru --- 993

Настройка исходящей почты:

Для отправки почты используется SMTP протокол, вам остаётся выбрать, шифровать трафик или нет. Предпочтительно использовать SSL/TLS, если почтовый клиент поддерживает шифрование.
Для заполнения полей, соответствующих адресу сервера исходящей почты и номеру порта, воспользуйтесь информацией в таблице ниже:

Провайдер Сервер исходящей почты SMTP № порта SMTP
Обычн. SSL
rambler.ru mail.rambler.ru 587 465
yandex.ru smtp.yandex.ru 25, 587 465
gmail.com smtp.googlemail.com 25, 587 465
bigmir.net smtp.googlemail.com 25, 587 465
meta.ua smtp.meta.ua 25, 587 465
mail.ru smtp.mail.ru 25, 587, 2525 465

Сохраните настройки и протестируйте работу своего почтового клиента.

SMTP (Simple Mail Transfer Protocol - простой протокол передачи почты) - это сетевой протокол, предназначенный для передачи электронной почты в сетях TCP/IP. ESMTP (англ. Extended SMTP) - масштабируемое расширение протокола SMTP. В настоящее время под «протоколом SMTP», как правило, подразумевают ESMTP и его расширения. SMTP использует порт Порты TCP 25.

Протокол SMTP использует простые текстовые команды в формате ASCII и возвращает трехзначные кодированные ответы с текстовыми сообщениями. Протокол SMTP описывается документом Internet Request For Comment (RFC) номер 821, который был разработан группой Internet Engineering Task Force (IETF) и опубликован 21 августа 1982 года. С тех пор он претерпел несколько модификаций, но в целом основные команды протокола не изменились.

Основные команды клиента SMTP

Команда HELO

По определению, длина команд протокола SMTP четыре символа. Приветствие, выдаваемое клиентом на сервер, и есть команда HELO. Формат команды следующий:

HELO domain name

Смысл команды HELO заключается в представлении клиента серверу SMTP. К сожалению, этот метод доступа был разработан на начальной стадии развития сети Internet, когда еще не было столь большого числа попыток несанкционированного проникновения в компьютерные системы. Как видите, клиент может назвать себя любым именем в командной строке. Это привело к тому, что в настоящее время большинство серверов SMTP эту команду используют чисто формально. Если они действительно стараются идентифицировать клиента, то подключается механизм обратного преобразования DNS с целью определения действительного имени хоста клиента согласно системе доменных имен по его IP-адресу. Как правило, в целях безопасности серверы SMTP отказывают в установлении соединения хостам, IP-адрес которых не преобразуется в соответствующее имя хоста. Посылая данную команду, клиент уведомляет сервер о желании установить с ним соединение. Отвечая на эту команду, сервер, в свою очередь, уведомляет об установке нового соединения с клиентом и готовности принимать от него последующие команды.

При работе с протоколом SMTP следует различать клиентов SMTP. Пользователи-клиенты и хосты-клиенты не одно и то же. При создании почтового сообщения пользователь системы электронной почты является одновременно и клиентом своего локального хоста. После отправки почтового сообщения он уже не является клиентом процесса SMTP. Теперь его локальный хост-компьютер осуществляет процесс доставки сообщения и сам выступает в качестве клиента SMTP. Когда локальный хост соединяется с удаленным хостом для передачи сообщения с помощью протокола SMTP, он действует как клиент SMTP-процесса. Команда HELO объявляет в качестве клиента имя локального хоста, а не реального пользователя, отославшего сообщение. Довольно часто эти понятия путают, что усложняет решение проблем, возникающих в системах электронной почты.

Команда AUTH

Расширение диалога SMTP командой AUTH описывается в RFC 4954.

    PLAIN (Uses Base64 encoding.)

    LOGIN (Uses Base64 encoding.)

    GSSAPI (Generic Security Services Application Program Interface)

    DIGEST-MD5 (Digest access authentication)

Разница между PLAIN и LOGIN только в том, что в первом варианте передается логин+пароль одной строкой, а во втором варианте - сначала логин, затем пароль. Но все они кодируются обязательно в Base64 .

Команда MAIL

Команда MAIL используется для организации сеанса обмена электронной почтой с сервером после того, как была послана команда HELO. Она указывает, от кого исходит данное сообщение. Формат команды MAIL следующий:

MAIL reverse-path

Аргумент reverse-path не только определяет отправителя сообщения, но также указывает маршрут, по которому можно вернуть сообщение в случае невозможности его доставки. Если отправитель является пользователем на клиентском компьютере, который инициировал сеанс SMTP, то формат команды будет следующим:

MAIL FROM: [email protected]

Заметьте, что в поле FROM указывается адрес электронной почты отправителя сообщения, включая полное имя клиентского хост-компьютера. Эта информация должна присутствовать в поле FROM почтового сообщения (но об этом позже). Если почтовое сообщение проходило на пути от отправителя к получателю через несколько узлов, то каждый из них будет добавлять сведения о себе в поле . Таким образом документируется путь прохождения сообщения через почтовые серверы. Довольно часто электронная почта от клиентов частных сетей должна проходить через несколько серверов электронной почты, прежде чем попасть в сеть Internet. Информация, которая содержится в поле reverse-path часто полезна при разрешении проблем в системах электронной почты или для обнаружения почтовых серверов, которые пытаются скрыть свою принадлежность, посылая сообщения через неизвестные серверы SMTP.

Команда RCPT

Команда RCPT определяет получателей сообщения. Одно и то же сообщение могут получать несколько пользователей. Обычно каждый получатель указывается отдельной строкой с командой RCPT. Формат команды RCPT следующий:

RCPT forward-path

Аргумент forward-path определяет, куда направляется электронная почта. Как правило, здесь указывается полный адрес электронной почты, но может также указываться и имя пользователя локального сервера SMTP. Рассмотрим для примера следующую команду:

RCPT TO: haley

С помощью этой команды указывается, что сообщение должно быть направлено пользователю haley на сервер SMTP, который обрабатывает сообщения. Таким же образом можно посылать сообщения и пользователям других компьютеров, которые не являются пользователями сервера SMTP, куда направлено сообщение. Рассмотрим, например, следующую команду:

RCPT TO: [email protected]

Команда, направленная серверу SMTP с именем shardrach.smallorg.org, вынуждает принять решение о доставке сообщения именно этот сервер. Так как пользователь не зарегистрирован на локальном сервере shardrach, то серверу придется определить, что делать с сообщением дальше. В этом случае возможны три варианта действий хоста shardrach. Давайте остановимся на них подробнее.

    Хост shardrach может переслать сообщение получателю и возвратить утвердительный ответ отправителю (OK). В этом случае он добавляет свое имя в поле команды MAIL, чтобы включить его в маршрут прохождения сообщения при необходимости уведомить отправителя.

    Хост shardrach не может переслать сообщение и уведомляет об этом отправителя, подтверждая в то же время правильность адреса хоста meshach.smallorg.org. Таким образом, отправитель может попытаться повторно отправить сообщение прямо на meshach.smallorg.org.

    Хост shardrach не может переслать сообщение и посылает уведомление о том, что эту операцию невозможно осуществить с данным сервером. Тогда причины случившегося следует проанализировать системному администратору.

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

Команда DATA

Эта команда является основной в протоколе SMTP. После обработки команд MAIL и RCPT команда DATA используется для передачи информационной части сообщения. Формат команды DATA следующий:

Все, что следует за этой командой, интерпретируется как сообщение для передачи. Сервер SMTP, как правило, дополняет заголовок сообщения меткой времени и информацией об обратном маршруте return-path. Программа-клиент обозначает конец сообщения посредством передачи строки с одной точкой. Формат этой строки следующий:

.

Приняв эту последовательность, сервер SMTP "понимает", что передача сообщения закончена и следует вернуть код ответа, который оповестит клиента о том, что его сообщение принято.

Команда SEND

Команда SEND используется для передачи почтовых сообщений непосредственно на терминал зарегистрированного пользователя системы. Эта команда выполняется только в том случае, когда пользователь находится в системе, и обычно представляет собой всплывающее сообщение, подобно команде write в ОС UNIX. У этой команды имеется серьезный недостаток: с ее помощью внешний пользователь может легко определить, кто в данный момент находится в системе. Эта "возможность" давно и активно эксплуатируется хакерами для получения идентификаторов пользователя в сети Internet у ничего не подозревающих жертв, находящихся в системе. Из-за угрозы безопасности в настоящее время большинство программных пакетов для работы с SMTP уже не содержат эту команду.

Команда RSET

Команда RSET - сокращение от reset (англ. сброс - Прим. пер.). Если клиент запутался в ответах, получаемых от сервера, или решил, что соединение потеряно, он может послать команду RSET и вернуть сеанс к его начальной точке - выполнению команды HELO. При этом все ранее посланные команды - MAIL, RCPT и DATA будут аннулированы. Очень часто к этой команде прибегают в качестве "последнего средства", когда клиент либо потерял последовательность команд, либо получил неожиданный ответ от сервера.

VRFY

Команда VRFY является сокращением от verify (англ. проверить - Прим. пер.). Ее можно использовать для определения возможности доставки сервером почты определенному получателю перед выполнением команды RCPT. Формат этой команды следующий:

VRFY username

По принятии данной команды сервер SMTP определяет, имеется ли у него на локальном сервере пользователь с заданным именем. Если такой пользователь найден, то сервер вернет ответ с полным почтовым адресом пользователя. Если такого пользователя нет на локальном сервере, то SMTP-сервер может либо вернуть негативный ответ клиенту, либо указать, что он будет пересылать все сообщения удаленному пользователю. Это зависит от того, будет ли сервер SMTP пересылать сообщения удаленному клиенту.

Команда VRFY может оказаться эффективным инструментом при поиске неполадок в работе электронной почты. Довольно часто, отправляя почтовые сообщения, пользователи ошибаются при написании имени адресата или хоста и затем недоумевают, почему их сообщения не были получены. Конечно, первое, что они предпримут, - это пожалуются администратору почтовой системы на отвратительную работу системы электронной почты. Как администратор почтовой системы вы, можете проверить работоспособность адресов электронной почты двумя путями. Во-первых, с помощью команды DNS host, которая позволяет определить правильность доменного имени и наличие почтового сервера, обслуживающего домен. И во-вторых, можно зайти с помощью telnet на порт 25 почтового сервера и затем задать команду VRFY, которая определит правильность имени пользователя. В листинге 5.3 показан пример использования команды VRFY для проверки имен пользователей.

1 [ riley@ shadrach riley] $ telnet localhost 25 2 Trying 127.0.0.1... 3 Connected to localhost. 4 Escape character is "^]" . 5 220 shadrach.smallorg.org ESMTP Sendmail 8.9.3/ 8.9.3; Thu, 26 Aug 1999 19 :20 :16 -050 6 HELO localhost 7 250 shadrach.smallorg.org Hello localhost [ 127.0.0.1] , pleased to meet you 8 VRFY rich 9 250 < rich@ shadrach,smallorg.org> 10 VRFY prez@ mechach.smallorg.org 11 252 < prez@ mechach.smallorg.org> 12 VRFY jessica 13 550 jessica... User unknown 14 QUIT 15 221 shadrach.smallorg.org closing connection 16 Connection closed by -foreign host. 17 [ riley@ shadrach riley] $

В строках 8–13 представлены результаты выполнения команды VRFY. В строке 8 делается попытка выполнить VRFY для локального пользователя rich. Ответ SMTP- сервера в строке 9 подтверждает, что пользователь с таким именем имеется в системе, и клиенту возвращается его полный адрес электронной почты. В строке 10 показан еще один вариант задания команды VRFY. Здесь клиент пытается выполнить команду VRFY для пользователя на удаленном компьютере. Ответ, полученный в строке 11 от системы shadrach, отличается от результата, полученного в строке 9. В разделе "Ответы сервера" значения кодов, возвращаемых сервером, обсуждаются более детально. В нашем случае отметим, что система shadrach уведомляет клиента о том, что почта будет пересылаться пользователю prez на удаленном сервере meshach.smallorg.org. Строка 12 отображает попытку проверить несуществующее имя в системе meshach. Ответ SMTP-сервера в строке 13 в пояснениях не нуждается.

    Проверить существования пользователя используя bash и curl. $ echo -e "VRFY [email protected]\n QUIT" | curl telnet:// mail.example.com:25 220 mail.1-talk.com ESMTP Postfix 252 2.0.0 username@ example.com 221 2.0.0 Bye

Команда NOOP

Команда NOOP - сокращение от no operation (англ. нет операции - Прим. пер.). Эта команда не оказывает никакого воздействия на SMTP-сервер, за исключением того, что сервер возвращает на нее позитивный код ответа. Она используется при тестировании соединения без пересылки сообщения.

Команда QUIT

Команда QUIT делает именно то, что она и означает (англ. выйти - Прим. пер.), т.е. сообщает SMTP-серверу о том, что клиентский компьютер закончил текущий сеанс и хочет закрыть соединение. Сервер SMTP должен ответить на эту команду, а затем инициировать и закрыть TCP-соединение. Если сервер принимает команду QUIT в процессе передачи почты, то все переданные в течение сеанса данные должны быть уничтожены и не поступят получателю.

Формат сообщений(EMail)

Стандартные поля заголовка, согласно RFC 822

Документом RFC 822 предусматривается разбиение сообщения на две части. Первая часть называется заголовком. В нее вносятся все данные, идентифицирующие сообщение. Вторая часть называется телом сообщения. Заголовок состоит из полей данных, которые используются по мере необходимости внесения дополнительной информации в сообщение. Поля заголовка и тело сообщения должны разделяться пустой строкой. Для полей заголовка не существует определенного порядка следования, т.е. поля заголовка могут располагаться в произвольном порядке. Кроме того, в одном сообщении поля заголовка могут повторяться. На рисунке представлен общий вид почтового сообщения, соответствующего требованиям RFC 822.

Формат сообщения, согласно RFC 822

    Поле заголовка Received

Формат поля заголовка Received: (Принято:) следующий:

Received: from host name by host name via physical-path with protocol id message-id for final e-mail destination

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

    Поле заголовка Return-Path

Формат этого поля заголовка следующий:

Return-Path: route

Последний SMTP-сервер в цепочке пересылки добавляет к сообщению поле возврата (Return-Path). Его цель - определение маршрута, посредством которого сообщение достигло получателя. Если сообщение было послано напрямую на сервер получателя, то в этом поле будет отображаться только один адрес. В противном случае здесь будет отображаться полный список серверов, через которые прошло сообщение, чтобы достичь адресата. Может отличаться от MAIL FROM (то есть обратный адрес может быть указан отличным от адреса отправителя).

    Поле заголовка Originator

В поле Originator указывается адрес отправителя сообщения. Эта информация весьма полезна в ситуации, когда сообщения были отвергнуты несколько раз частными сетями, прежде чем они попали в сеть Internet. Формат этого поля следующий:

Reply-To: address

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

    Поле заголовка Resent

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

Resent-Reply-To: address

    Поля заголовка Authentic

Данные поля заголовка идентифицируют отправителя электронного сообщения. Формат полей Authentic:

From: user-name Sender: user-name

Поле From:(От:) идентифицирует автора сообщения. Обычно в полях From: и Sender:(Отправитель:) указывается один и тот же пользователь, так что в действительности требуется только одно из этих полей. В том случае, когда отправитель почты не является автором сообщения, а оно лишь посылается с его адреса, оба поля все равно должны быть указаны - этим обеспечивается возврат сообщения отправителю, если доставка его адресату оказалась невозможной. Поля заголовка Resent-authentic

Поля Resent-authentic определяют отправителя сообщения, которое по какой-либо причине повторно передавалось программой-клиентом. Формат этих полей следующий:

Resent-From: date-time Resent-Sender: date-time Поля Resent-From: и Resent-Sender: работают подобно полям From: и Sender:. Они лишь отражают, что сообщение было повторно передано клиентом по неизвестной причине.

Поля заголовка Dates

Поля заголовка Dates используются для помещения метки времени в сообщение при передаче его от клиента серверу. Формат полей Dates следующий:

Date: date-time Resent-Date: date-time Поле Date: (Дата) будет пересылать информацию в заголовке сообщения в точном соответствии с оригиналом сообщения. Этот параметр может оказаться полезным при отслеживании времени получения ответов, в особенности - множественных ответов.

    Поля заголовка Destination

В полях заголовка Destination указываются адреса электронной почты получателей сообщения. Эти поля являются чисто информационными. Сервер SMTP в любом случае не будет посылать сообщение в почтовый ящик пользователя, пока на получит команду RCPT, выданную для данного пользователя (см. раздел "Основные команды клиента SMTP"). Формат этих полей следующий:

To: address Resent-To: address CC: address Resent-CC: address BCC: address Resent-BCC: address

Поля To:, CC: и BCC: устанавливают стандартный алгоритм обработки электронной почты. Большинство пакетов для работы с электронной почтой используют именно эту терминологию для классификации получателей сообщения. Поле CC: сходно с памяткой, и указанные в нем получатели должны получить "копию" сообщения. Еще одно новое понятие, введенное системами электронной почты, - BCC: или "невидимая копия" (blind carbon copy). В поле "невидимой копии" также указывается получатель копии сообщения, но его адрес не виден посторонним (это не совсем этично). В связи с этой опцией обсуждалась вопросы компьютерной этики, но на сегодняшний день практически все программы для работы с электронной почтой поддерживают эту возможность.

    Необязательные поля заголовка

Необязательными являются поля, которые более подробно идентифицируют сообщение для сервера SMTP, но, согласно RFC 822, могут и не присутствовать в сообщении. Тем не менее эти поля в настоящее время широко распространены, и многим из вас придется столкнуться с ними. Формат некоторых из них следующий:

Message-ID: message-id Resent-Message-ID: message-id In-Reply-To: message-id References: message-id Keywords: text - list Subject: text Comments: text Encrypted: word

Наиболее полезным и часто используемым из этого набора является поле Subject: (Тема). Большинство программ для работы с электронной почтой допускает ввод отправителем темы сообщения в одну строку, которая описывает для получателя содержание сообщения. Эта строка текста довольно часто используется почтовой программой-клиентом при формировании списков полученных сообщений. Еще одно необязательное поле также помогает идентифицировать почтовое сообщение. Это поле Message-ID: (Идентификатор сообщения). В этом поле сообщению присваивается уникальный идентификационный номер, который может затем отображаться в возвращенном сообщении. Специальное поле шифрования Encrypted: указывает, было ли сообщение в целях безопасности подвергнуто шифрованию, а в Keywords: можно задать ключевые слова, которые можно использовать при поиске определенного текста, встречающегося в сообщении (сообщениях).

Двоичные данные и MIME

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

    Поле заголовка MIME-Version

Первое из дополнительных полей заголовка содержит версию MIME, которую использовал отправитель при кодировании сообщения. В настоящее время в этом поле всегда 1.0.

    Поле Content-Transfer-Encoding

В поле заголовка Content-Transfer-Encoding указывается способ помещения двоичных данных в сообщение текстового формата ASCII . На сегодняшний день существует семь различных способов кодирования двоичных данных, однако наиболее часто встречается кодирование base64. При применении этого метода кодирования 6-битовые блоки двоичных данных преобразуются в 8-битовые блоки, воспринимаемые как текст ASCII .

    Поле Content-ID

Это поле заголовка используется для идентификации сеансов MIME по определенному идентификационному коду, когда содержимое имеет сложную структуру.

    Поле Content-Description

Поле заголовка Content-Description используется для текстового описания в формате ASCII данных, помещенных в почтовое сообщение. Это удобно при пересылке документов, созданных при помощи текстового процессора или графики, которые ничем не отличаются, будучи закодированными base64.

Поле заголовка Content-Type

    Поле заголовка Content-Type

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

Тип данных text идентифицирует данные в формате ASCII , которые должны читаться в исходном виде. Здесь существует также два подкласса - plain-текст, т.е. неформатированный ASCII -текст, и enriched-текст, который включает в себя элементы форматирования, схожие с обогащенным текстовым форматом. Новейшие программы для работы с электронной почтой могут работать даже с обогащенным текстовым форматом (RTF).

Тип данных message позволяет почтовой программе отсылать простые сообщения в формате RFC 822. Подклассы этого типа: rfc822, который указывает на то, что вложением является обычное сообщение, соответствующее RFC 822; partial, который позволяет разбивать длинные сообщения на несколько частей, и external-body, который позволяет помещать указатель на объект, не являющийся частью сообщения.

Тип данных image определяет вложение в сообщение двоичных данных, которые представляют собой графическое изображение. В настоящее время для этого типа определено два подкласса - jpeg и gif.

Тип данных video, соответственно, определяет, что вложенные в сообщение данные представляют собой видеоданные. В настоящее время для этого типа определен только один подкласс - формат mpeg.

Тип данных audio обозначает содержимое сообщения как аудиоданные (звуковые файлы). Здесь также пока определен только один подкласс basic, который соответствует одному каналу ISDN с частотой дискретизации 8 Кгц.

Тип данных application соответствует двоичным данным, вложенным в сообщение, которые являются приложением (например, электронные таблицы Microsoft Excel или документы, созданные с помощью текстового процессора Microsoft Word). На сегодняшний день определено два подкласса такого рода данных - postscript и octet-stream. Довольно часто подкласс octet-stream используется при вложении в сообщение прикладных данных, таких как документы Microsoft Word или электронные таблицы Microsoft Excel.

Тип данных multipart идентифицирует сообщения, содержащие несколько различных типов данных. Этот формат довольно часто встречается в почтовых программах, поддерживающих вывод сообщения несколькими способами, например в виде текста ASCII , HTML -текста или аудиофайла. Граничный идентификатор разделяет различные типы данных. В то же время каждый тип данных идентифицируется определенным полем заголовка типа данных. Тип данных multipart имеет четыре подкласса.

Подкласс mixed указывает на то, что каждая из частей сообщения является независимой и все они должны быть представлены получателю в том порядке, в каком они были вложены отправителем. Подкласс parallel указывает то, что каждая из частей сообщения является независимой и все они могут быть представлены получателю в любом порядке. Следующий подкласс alternative указывает, что все части сообщения представляют собой одни и те же данные, но представленные в различном виде. При этом получатель может выбрать наилучшее средство для просмотра полученных данных. Подкласс digest во многом сходен с подклассом mixed, но при этом указывает, что тело сообщения всегда представляется в формате RFC822.

1 $ telnet localhost 25 2 Trying 127.0.0.1... 3 Connected to localhost. 4 Escape character is "^]". 5 220 shadrach.smallorg.org ESMTP Sendmail 8.9.3/8.9.3; Mon, 30 Aug 1999 07:36:58 -050 6 HELO localhost 7 258 shadrach.smallorg.org Hello localhost , pleased to meet you 8 MAIL FROM:rich@localhost 9 250 rich@localhost... Sender ok 10 RCPT TO:rich 11 250 rich... Recipient ok 12 DATA 13 354 Enter mail, end with "." on a line by itself 14 From:"Rich Blum" 15 To:"rich" 16 Subject:Formatted text message test 17 MIME-Version: 1.0 18 Content-Type: multipart/alternative; boundary=bounds1 19 20 –bounds1 21 Content-Type: text/plain; charset=us-ascii 22 23 This is the plain text part of the message that can 24 be read by simple e-mail readers. 25 26 –-bounds1 27 Context-Type: text/enriched 28 29 This is the rich text version of the SAME message. 30 31 –-bounds1-- 32 . 33 250 MAA04305 Message accepted for delivery 34 QUIT 35 221 shadrach.smallorg.org closing connection 36 Connection closed by foreign host. 37 You have new mail in /var/spool/mail/rich 38 $

Листинг 5.6. Пример сеанса SMTP с несколькими вложениями MIME (html, txt) Пример сообщения, представленный в листинге 5.6, является сообщением MIME, которое состоит из двух частей. В строке 18 показан тип данных сообщения. Тип multipart/alternative указывает на то, что в сообщении имеются различные типы данных, которые отделены граничным разделителем bounds1. Данные первого типа начинаются со строки 21 и представляют собой простой ASCII -текст, который может прочесть практически любая почтовая программа.

Данные второго типа начинаются со строки 27 и представляют собой форматированный текст с использованием обогащенного текстового формата.

Так как тип MIME, указанный для сообщения, - multipart/alternative, то определение того, какую версию вложения отобразить, всецело зависит от почтовой программы.

Расширенный протокол SMTP

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

В 1995 году увидел свет документ RFC 1869, где был определен метод расширения возможностей протокола SMTP, который назывался "Расширенные службы SMTP".

Расширенный SMTP (Extended SMTP) реализован следующим образом. В начале сеанса SMTP команда HELO заменена на команду приглашения - EHLO. Получение сервером SMTP такой команды означает, что клиент может посылать ему расширенные SMTP команды. В листинге 5.7 показан пример сеанса с использованием EHLO , а также дополнительных команд.

1 $ telnet localhost 25 2 Trying 127.0.0.1... 3 Connected to localhost. 4 Escape character is "^]". 5 220 shadrach.smallorg.org ESMTP Sendmail 8.9.3/8.9.3; Mon, 30 Aug 1999 16:36:48 -050 6 EHLO localhost 7 250-shadrach.smallorg.org Hello localhost , pleased to meet you 8 250-EXPN 9 250-VERB 10 250-8BITMIME 11 250-SIZE 12 250-DSN 13 250-ONEX 14 250-ETRN 15 250-XUSR 16 250 HELP 17 HELP DSN 18 214-MAIL FROM: [ RET={ FULL || HDRS} ] [ ENVID= ] 19 214-RCPT TO: [ NOTIFY={NEVER,SUCCESS,FAILURE,DELAY} ] 20 214- [ ORCPT= ] 21 214- SMTP Delivery Status Notifications. 22 214-Descriptions: 23 214- RET Return either the full message or only headers. 24 214- ENVID Sender"s "envelope identifier" for tracking. 25 214- NOTIFY When to send a DSN. Multiple options are OK, comma - 26 214- delimited. NEVER must appear by itself. 27 214- ORCPT Original recipient. 28 214 End of HELP info 29 HELP ETRN 30 214-ETRN [ | @ | # ] 31 214- Run the queue for the specified , or 32 214- all hosts within a given , or a specially-named 33 214- (implementation-specific). 34 214 End of HELP info 35 QUIT 36 221 shadrach.smallorg.org closing connection 37 Connection closed by foreign host. 38 $

В строке 6 задана SMTP-команда EHLO для подключения к серверу SMTP. Строки 7–16 отображают ответ сервера. Заметьте, сервер сигнализирует о том, что для использования доступно больше команд, т.е. сеанс происходит в "расширенном" режиме. Одна из новых групп команд называется параметрами уведомления о доставке сообщения (Delivery Status Notification). Эти параметры могут использоваться с командами MAIL и RCPT для отображения состояния доставки определенного сообщения электронной почты. Однако для нас как администраторов почтовой системы наибольший интерес представляет команда ETRN.

Команда TURN уже упоминалась ранее. Эта команда весьма эффективна, но, к сожалению, небезопасна. Чтобы компенсировать этот недостаток, в RFC 1985 определена новая реализация команды TURN, которая обеспечивает больший уровень безопасности. Команда ETRN позволяет SMTP-клиенту выдавать запрос на SMTP-сервер для того, чтобы инициировать еще одно SMTP-соединение с клиентом для передачи ему сообщений. Единственное отличие команды ETRN от TURN заключается в том, что запрос поступает не на использование существующего соединения, а на открытие нового сеанса SMTP. Таким образом, SMTP-сервер может соединиться с клиентским компьютером с помощью обычных алгоритмов преобразования имен системы DNS . При этом открытие нового соединения основывается не на том имени, под которым клиентский компьютер регистрируется на сервере, а на реальном имени хоста клиента. В таком случае, если хакер установит несанкционированное SMTP-соединение и воспользуется командой ETRN, то сервер SMTP просто организует новое соединение с реальным клиентом и перешлет ему электронную почту. В результате, пострадавших нет. Формат команды ETRN следующий:

Здесь в роли name может выступать либо имя хоста, либо доменное имя (если поступает запрос на получение почты для всего домена). Команда ETRN весьма хорошее подспорье для администратора электронной почты. Если почту для вашего почтового сервера хранит провайдер Internet, то с помощью этой команды можно уведомить его о готовности к приему собранной для вас почты. Существует несколько способов реализации такого алгоритма. Один из них - использование специальной программы Perl, которая поставляется с программой sendmail. Ее работа как раз и заключается в том, что после установления соединения с провайдером Internet она выдает команду ETRN с именем вашего домена в качестве аргумента. Получив эту команду, сервер SMTP провайдера инициирует еще одно SMTP-соединение с вашим локальным SMTP-сервером (по тому же РРР-соединению) и отдает всю предназначенную для вашего домена почту, которая имеется у него в очереди на отправку.

Настройки отправки почты через SMTP

Встречаются случаи, когда сайтостроители сталкиваются с проблемой работы электронной почты сайта на CMS Joomla. Например, при отправки письма через форму обратной связи могут появляться ошибки следующего типа: "Could not instantiate mail function" или "Не удалось вызвать функцию mail" . Также возможен вариант отправления письма без появления ошибок, однако в результате оно все равно не доходит до адресата.

Почему же происходят данные проблемы с почтой? Чтобы ответить на данный вопрос необходимо в панели управления пройти по следующему пути: "Система" - "Общие настройки" - вкладка "Сервер" - раздел "Настройка почты".

В CMS Joomla предусмотрено три механизма отправки писем: PHP Mail, Sendmail и SMTP. По умолчанию используется PHP Mail с которым зачастую и происходят проблемы, которые, в основном, связаны с настройками используемого хостинга.

Исходя из вышеизложенного делаем вывод: либо обращаемся за помощью к хостинг провайдеру, либо используем способ отправки писем Sendmail или SMTP. Остановимся на использовании SMTP.

Настройки отправки почты при помощи SMTP

SMTP (англ. Simple Mail Transfer Protocol) - сетевой протокол, используемый для передачи электронной почты. Для использования SMTP необходимо корректно выставить настройки определенного почтового сервера, который будет использоваться.

Чтобы увидеть настройки SMTP, необходимо в "Способе отправки" выбрать "SMTP". Рассмотрим каждую настройку популярных почтовых серверов: Yandex, Mail, Gmail, Rambler и Yahoo.

Настройки SMTP для Yandex

  1. E-mail сайта: почтовый ящик на yandex.ru, например: [email protected]
  2. Защита SMTP: SSL
  3. Порт SMTP-сервера: 465
  4. Имя пользователя SMTP: логин ящика на yandex.ru, например: khasanov (без @yandex.ru)
  5. SMTP-сервер: smtp.yandex.ru

Настройки SMTP для Mail

  1. E-mail сайта: почтовый ящик на mail.ru, например: [email protected]
  2. Отправитель письма: запись, которая будет отображаться у адресата в поле "Отправитель"
  3. Отключить рассылку: вкл/откл. функции массовой рассылки писем
  4. Авторизация на SMTP-сервере: Да
  5. Защита SMTP: SSL
  6. Порт SMTP-сервера: 465
  7. Имя пользователя SMTP: почтовый ящик на mail.ru, например: [email protected]
  8. Пароль для SMTP: пароль от почтового ящика
  9. SMTP-сервер: smtp.mail.ru

Настройки SMTP для Gmail

  1. E-mail сайта: почтовый ящик на gmail.com, например: [email protected]
  2. Отправитель письма: запись, которая будет отображаться у адресата в поле "Отправитель"
  3. Отключить рассылку: вкл/откл. функции массовой рассылки писем
  4. Авторизация на SMTP-сервере: Да
  5. Защита SMTP: SSL
  6. Порт SMTP-сервера: 465
  7. Имя пользователя SMTP: почтовый ящик на gmail.com, например: [email protected]
  8. Пароль для SMTP: пароль от почтового ящика
  9. SMTP-сервер: smtp.gmail.com

Настройки SMTP для Rambler

  1. E-mail сайта: почтовый ящик на rambler.ru, например: [email protected]
  2. Отправитель письма: запись, которая будет отображаться у адресата в поле "Отправитель"

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

Несмотря на то, что большинство хостингов и интернет-провайдеров (например, ) предоставляет свою поддержку SMTP, существует несколько выгодных моментов в использовании внешнего SMTP сервера:

  • Он может обеспечить лучшую доставку электронной почты.
  • Вам не надо будет настраивать ваш собственный сервер (если вы используете ).
  • Их сервера с меньшей вероятностью попадают в чёрный список, это означает, что ваше письмо с большей вероятностью не будет отмечено как спам.

Ограничения на отправку SMTP Сервера от Google

Google ограничивает количество исходящих электронных сообщений до 100 штук в день. При достижении лимита, вы не сможете отправлять письма в течение следующих 24 часов. Более подробная информация по поводу ограничений на отправку электронной почты может быть найдена .

Прежде, чем начать изучение руководства, убедитесь в наличии:

  • Аккаунт Gmail или GSuite
  • Доступ к панели управления вашего хостинга

Шаг 1 – Получение настроек Google SMTP сервера

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

ВАЖНО! Если вы используете двухэтапную аутентификацию для доступа к вашему Google аккаунту, доступ к непроверенным приложениям не может быть включен. В таком случае вам надо войти в систему, используя пароль приложения .

Детали SMTP сервера Google вы можете найти ниже:

  • SMTP Сервер : smtp.gmail.com
  • SMTP Имя пользователя : ваше полное имя пользователя Gmail (электронный адрес), к примеру, [email protected]
  • SMTP Пароль : пароль от вашего Gmail.
  • SMTP Порт : 465
  • TLS/SSL : требуется.

Если вы хотите хранить все ваши исходящие сообщения в папке Отправленные вашего gmail, используйте IMAP протокол, следуя этим шагам:


Шаг 2 – Использование Google SMTP

На этом этапе вы научитесь, как использовать бесплатный SMTP сервер от Google для отправки сообщений через PHPMailer и плагин WordPress. Знание того, как отправлять электронные письма с помощью PHP полезно, если вы учитесь программированию или хотите создать простую контактную форму для вашего сайта.

Вариант 2.1 – Используем PHPMailer

Доступно множество PHP скриптов позволяющих это сделать. В примере внизу мы будем использовать PHPMailer :


PHPMailer уже имеет пример настроек для использования с SMTP сервером Google под названием gmail.phps . Он находится в папке PHPMailer-master/examples .

isSMTP(); //Enable SMTP debugging // 0 = off (for production use) // 1 = client messages // 2 = client and server messages $mail->SMTPDebug = 2; //Ask for HTML-friendly debug output $mail->Debugoutput = "html"; //Set the hostname of the mail server $mail->Host = "smtp.gmail.com"; // use // $mail->Host = gethostbyname("smtp.gmail.com"); // if your network does not support SMTP over IPv6 //Set the SMTP port number - 587 for authenticated TLS, a.k.a. RFC4409 SMTP submission $mail->Port = 587; //Set the encryption system to use - ssl (deprecated) or tls $mail->SMTPSecure = "tls"; //Whether to use SMTP authentication $mail->SMTPAuth = true; //Username to use for SMTP authentication - use full email address for gmail $mail->Username = "[email protected]"; //Password to use for SMTP authentication $mail->Password = "yourpassword"; //Set who the message is to be sent from $mail->setFrom("[email protected]", "First Last"); //Set an alternative reply-to address $mail->addReplyTo("[email protected]", "First Last"); //Set who the message is to be sent to $mail->addAddress("[email protected]", "John Doe"); //Set the subject line $mail->Subject = "PHPMailer GMail SMTP test"; //Read an HTML message body from an external file, convert referenced images to embedded, //convert HTML into a basic plain-text alternative body $mail->msgHTML(file_get_contents("contents.html"), dirname(__FILE__)); //Replace the plain text body with one created manually $mail->AltBody = "This is a plain-text message body"; //Attach an image file $mail->addAttachment("images/phpmailer_mini.png"); //send the message, check for errors if (!$mail->send()) { echo "Mailer Error: " . $mail->ErrorInfo; } else { echo "Message sent!"; } Contact GitHub API Training Shop Blog About

Для того, чтобы этот скрипт работал с Google SMTP сервером, вам необходимо отредактировать некоторые настройки, такие как username (имя пользователя) , password (пароль) и email recipient address (адрес получателя электронной почты) . Также вы можете изменить название файла с gmail.phps на gmail.php , таким образом вы сможете получить доступ к файлу через ваш браузер. Для переименования и редактирования файлов можно использовать Файловый менеджер или FTP-клиент.

Как только редактирование закончено, просто откройте скрипт своим браузером. Если вы загрузили папку PHPMailer-master в папку public_html , то файл будет доступен по адресу http://вашдомен.ru/PHPMailer-master/examples . Если все настроено верно, вы должны увидеть сообщение об успешной отправке электронного сообщения.

Вариант 2.2 – Используем плагин WP Mail SMTP

Самый простой вариант использования внешнего SMTP на WordPress это использование плагина WP Mail SMTP .

Прежде войдите свою админ консоль и перейдите в раздел Плагины → Добавить новый . Установите и активируйте плагин Mail SMTP.

Теперь зайдите на страницу настроек WP Mail SMTP по пути Плагины→ Установленные и нажмите Настройки (Settings) .

Вам нужно будет заполнить все необходимые детали вашего SMTP сервера.

  1. SMTP Host – Введите smtp.gmail.com .
  2. SMTP Port – Порт по умолчанию для Gmail SMTP сервера 465 для SSL и 587 для TSL.
  3. Encryption – Всегда рекомендуется использовать шифрование. Выберите его согласно порту, который выбрали до этого.
  4. Authentication – Выберите Да (Yes) , SMTP аутентификация требуется.
  5. Username – используйте свой Gmail адрес.
  6. Password – ваш Gmail пароль.

Для сохранения внесённых вами изменений нажмите на кнопку Save Changes (Сохранить изменения) внизу страницы. Чтобы убедиться в том, что ваши настройки работают, вы можете отправить тестовый email на свой личный аккаунт. Введите электронный адрес и нажмите Send Test (Отправить тест) .

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

Заключение

По окончанию этого руководства вы узнали, как настроить свою учётную запись Google и использовать бесплатный SMTP сервер от Google. Также вы научились отправлять сообщения с помощью PHPMailer. Если вы являетесь пользователем WordPress, загляните в о настройке внешней службы SMTP на WordPress.