Содержание
- 1 Настройки отправки почты при помощи SMTP
- 2 Введение
- 3 Выгоды использования внешней службы SMTP
- 4 Ограничения на отправку SMTP Сервера от Google
- 5 Прежде, чем начать изучение руководства, убедитесь в наличии:
- 6 Шаг 1 – Получение настроек Google SMTP сервера
- 7 Шаг 2 – Использование Google SMTP
- 8 Заключение
- 9 Что такое SMTP?
- 10 Нужна ли настройка сервера при отправке письма с почтового сервиса?
- 11 Настраиваем сервер SMTP (Mail.Ru – почтовый сервис, где зарегистрирован ящик)
- 12 Настраиваем сервер SMTP на Yandex
- 13 Устанавливаем SMTP-сервер для рассылки
- 14 Вместо послесловия
05 июля2016
Встречаются случаи, когда сайтостроители сталкиваются с проблемой работы электронной почты сайта на 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
Проверить отправку почты можно при помощи нажатии кнопки «Send test mail», которая размещена под всеми настройками почты.
Введение
Не все знают, что они могут использовать бесплатный SMTP сервер от Google для отправки электронной почты. Это может стать хорошим решением для тех, кто не может использовать SMTP сервер предоставленный провайдером или хостингом, а также тем, кто испытывает проблемы с доставкой электронной почты. В этом руководстве вы узнаете, как использовать бесплатный SMTP сервер от Google. Вы также найдёте подробную информацию по его использованию для отправки электронных сообщений через почтовую программу PHP.
Выгоды использования внешней службы SMTP
Несмотря на то, что большинство хостингов и интернет-провайдеров (например, Hostinger) предоставляет свою поддержку SMTP, существует несколько выгодных моментов в использовании внешнего SMTP сервера:
- Он может обеспечить лучшую доставку электронной почты.
- Вам не надо будет настраивать ваш собственный сервер (если вы используете VPS).
- Их сервера с меньшей вероятностью попадают в чёрный список, это означает, что ваше письмо с большей вероятностью не будет отмечено как спам.
Ограничения на отправку SMTP Сервера от Google
Google ограничивает количество исходящих электронных сообщений до 100 штук в день. При достижении лимита, вы не сможете отправлять письма в течение следующих 24 часов. Более подробная информация по поводу ограничений на отправку электронной почты может быть найдена здесь.
Прежде, чем начать изучение руководства, убедитесь в наличии:
- Аккаунт Gmail или GSuite
- Доступ к панели управления вашего хостинга
Шаг 1 – Получение настроек Google SMTP сервера
Прежде всего, для того, чтобы использовать бесплатный SMTP сервер от Google, вам необходимо разрешить доступ к непроверенным приложениям. Google начал блокировать такого рода приложения и устройства, которые согласно его мнению не соответствуют современным стандартам безопасности. Однако доступ к таким приложениям может быть легко включен здесь.
ВАЖНО! Если вы используете двухэтапную аутентификацию для доступа к вашему Google аккаунту, доступ к непроверенным приложениям не может быть включен. В таком случае вам надо войти в систему, используя пароль приложения.
Детали SMTP сервера Google вы можете найти ниже:
- SMTP Сервер: smtp.gmail.com
- SMTP Имя пользователя: ваше полное имя пользователя Gmail (электронный адрес), к примеру, vashemail@gmail.com
- SMTP Пароль: пароль от вашего Gmail.
- SMTP Порт: 465
- TLS/SSL: требуется.
Если вы хотите хранить все ваши исходящие сообщения в папке Отправленные вашего gmail, используйте IMAP протокол, следуя этим шагам:
- Зайдите в ваш Gmail аккаунт и войдите в раздел Настройки.
- Перейдите по вкладке Пересылка и POP/IMAP и включите IMAP.
- Как только вы закончите, нажмите кнопку Сохранить изменения внизу страницы.
Шаг 2 – Использование Google SMTP
На этом этапе вы научитесь, как использовать бесплатный SMTP сервер от Google для отправки сообщений через PHPMailer и плагин WordPress. Знание того, как отправлять электронные письма с помощью PHP полезно, если вы учитесь программированию или хотите создать простую контактную форму для вашего сайта.
Вариант 2.1 – Используем PHPMailer
Доступно множество PHP скриптов позволяющих это сделать. В примере внизу мы будем использовать PHPMailer:
- Откройте репозиторий PHPMailer на GitHub и загрузите скрипт, нажав кнопки Clone or download → Download ZIP. Сохраните скрипт на своем компьютере.
- Загрузите скрипт на ваш хостинг аккаунт. Вы можете использовать FTP-клиент или Файловый менеджер предоставленный вашим хостингом. Если вы не уверены, как загружать файлы на ваш хостинг аккаунт, посмотрите это руководство.
PHPMailer уже имеет пример настроек для использования с SMTP сервером Google под названием gmail.phps. Он находится в папке PHPMailer-master/examples.
date_default_timezone_set('Etc/UTC'); require '../PHPMailerAutoload.php'; //Create a new PHPMailer instance $mail = new PHPMailer; //Tell PHPMailer to use SMTP $mail->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 = "username@gmail.com"; //Password to use for SMTP authentication $mail->Password = "yourpassword"; //Set who the message is to be sent from $mail->setFrom('from@example.com', 'First Last'); //Set an alternative reply-to address $mail->addReplyTo('replyto@example.com', 'First Last'); //Set who the message is to be sent to $mail->addAddress('whoto@example.com', '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 сервера.
- SMTP Host – Введите smtp.gmail.com.
- SMTP Port – Порт по умолчанию для Gmail SMTP сервера 465 для SSL и 587 для TSL.
- Encryption – Всегда рекомендуется использовать шифрование. Выберите его согласно порту, который выбрали до этого.
- Authentication – Выберите Да (Yes), SMTP аутентификация требуется.
- Username – используйте свой Gmail адрес.
- Password – ваш Gmail пароль.
Для сохранения внесённых вами изменений нажмите на кнопку Save Changes (Сохранить изменения) внизу страницы. Чтобы убедиться в том, что ваши настройки работают, вы можете отправить тестовый email на свой личный аккаунт. Введите электронный адрес и нажмите Send Test (Отправить тест).
Если вы получили отправленный вами email – это значит, что отправка почты работает верно. Однако, если вы получили какую-либо ошибку, перепроверьте настройки электронной почты или свяжитесь со службой поддержки вашего хостинга для помощи.
Заключение
По окончанию этого руководства вы узнали, как настроить свою учётную запись Google и использовать бесплатный SMTP сервер от Google. Также вы научились отправлять сообщения с помощью PHPMailer. Если вы являетесь пользователем WordPress, загляните в это руководство о настройке внешней службы SMTP на WordPress.
Каждый пользователь, работающий с почтовыми приложениями, так или иначе сталкивается с настройкой параметров входящей и исходящей корреспонденции. Одним из основных элементов является конфигурация SMTP-сервера. Рассмотрим, что это такое и как произвести нужные настройки для различных ситуаций.
Что такое SMTP?
Сокращение SMTP происходит от английского словосочетания Simple Mail Transfer Protocol, что в переводе означает «простой протокол отправки почты». В основном область его применения ограничивается сетями на основе TCP/IP и пользовательским уровнем.
В любой мейл-программе, часто называемой почтовым клиентом, имеются специальные настройки, позволяющие сконфигурировать параметры протокола. Именно его посредством все электронные письма отправляются на почтовый сервер, где ожидают ретрансляции. Изначально SMTP-сервер использует TCP-порт под номером 25. Однако с развитием сервисов электронной почты настройки могут существенно изменяться.
Нужна ли настройка сервера при отправке письма с почтового сервиса?
Как правило, любой почтовый сервис в интернете, предлагающий пользователям услуги по отправке и получению электронной корреспонденции, уже оснащен заранее настроенным SMTP-сервером. То есть пользователю производить ничего не нужно.
Сами же сервисы для входа в собственный почтовый ящик требуют от пользователя только ввода логина и пароля, указанных при регистрации, и настраивать, например, SMTP-сервер Mail.Ru не требуется всего лишь по той причине, что в самом сервисе все это было сделано изначально (без этого служба просто не работала бы). Но что делать, если пользователь интернет-ресурсами по какой-то причине не пользуется, а предпочитает стандартные клиенты вроде майкрософтовских Outlook Express и Outlook или сторонние программные продукты, имея при этом зарегистрированный ящик именно в интернет-сервисе?
Настраиваем сервер SMTP (Mail.Ru – почтовый сервис, где зарегистрирован ящик)
Посмотрим на стандартные параметры, которые следует применить к данному сервису. Вне зависимости от используемого почтового клиента абсолютно все настройки будут идентичными.
Итак, для того чтобы правильно сконфигурировать SMTP-сервер Mail.Ru, следует задать следующие параметры:
- сервер исходящей корреспонденции – smtp.mail.ru;
- имя юзера – полное название зарегистрированного в сервисе адреса электронной почты;
- пароль – текущее кодовое сочетание литер, цифр и символов, используемое для входа в ящик;
- порт при выборе протокола шифрования SSL/TLS – 465.
После вступления в силу этих настроек почту можно будет принимать непосредственно в используемой пользовательской программе. Как видим, порт SMTP-сервера отличается от стандартного (25), но это связано уже с протоколами TCP/IP.
Настраиваем сервер SMTP на Yandex
Не менее популярным является и сервис Yandex.Ru. SMTP-сервер для него настраивается полностью аналогичным образом.
Однако для сервера исходящих сообщений применяется адрес smtp.yandex.ru, для порта указывается значение 465, но в настройках защиты устанавливается исключительно TLS.
Устанавливаем SMTP-сервер для рассылки
Теперь перейдем к более сложным ситуациям, когда пользователю по каким-либо причинам (например, для раскрутки собственного бизнеса или сайта) нужно осуществлять массовую рассылку. Заниматься этим вручную с использованием онлайн-сервисов или почтовых клиентов нет смысла хотя бы по той причине, что это занимает слишком много времени и сил. Поэтому можно поступить двояким способом – купить уже готовый настроенный SMTP-сервер или настроить его самому.
В первом случае, если приобретается «белый» сервер, это потребует весомых затрат, а также соблюдения всех условий разработчика или продавца. Можно, конечно, приобрести «серый» сервер, однако здесь нет гарантии, что он не будет внесен в спам-базы поисковых систем. Чревато это только тем, что тот же Yandex при поступлении писем с указанных источников будет просто фильтровать их и отправлять в раздел спама, а Mail.Ru и Google помечают корреспонденцию соответствующим индексом «спамности». Настройка же SMTP-сервера вручную выглядит и более надежной, и более экономной в плане финансовых затрат.
Для начала нужно приобрести сервер VPS с операционной системой Centos версии не ниже шестой. Сразу обратите внимание, есть ли возможность ввода записи PTR, которая позволит точно идентифицировать каноническое имя домена принимающим сервером.
Далее нужно установить панель Vesta. В качестве примера используем утилиту PuTTY, которую нужно скачать, установить и запустить. В настройках сразу прописываем IP-адрес сервера, далее жмем кнопку Open и прописываем логин root и пароль, предоставленный при покупке VPS-сервера.
Теперь последовательно вводим следующие команды:
curl -O http://vestacp.com/pub/vst-install.sh
bash vst-install.sh
Если возникает ошибка, решаем ее при помощи сочетания:
bash vst-install-rhel.sh —force
После этого вводим действительный адрес электронного ящика и название хоста. Через 5-10 минут панель установится.
Далее в браузере используем адресную строку, где прописываем такое:
https://IP сервера:8083
Возникает окно, где нужно ввести имя пользователя root и предоставленный пароль.
На следующем этапе регистрируем домен и переходим в панель параметров DNS, где меняем местами записи MX и A.
Ждем, пока произойдет обновление DNS-зон, и переходим на вкладку WEB в панели Vesta, где добавляем зарегистрированный домен.
После этого регистрируем аккаунты SMTP в разделе Mail. Для проверки в том же разделе используем вкладку Open Webmail. В появившемся окне EXIM-сервера вводим параметры созданного SMTP и отправляем пробное письмо. Если все нормально, можно себя поздравить.
Обратите внимание, что в некоторых случаях для массовой рассылки может потребоваться наличие цифровой подписи (не путать с записью PTR, которая отвечает только за подлинность домена или хоста). При ее отсутствии некоторые принимающие службы могут отнестись к рассылке недоверительно, а сама входящая корреспонденция будет помечена как сомнительная. Так что об этом нужно позаботиться заранее.
Вместо послесловия
Остается добавить, что настройка SMTP-сервера для почтовых клиентов не так уж сложна, как это могло показаться вначале. Но вот для массовых рассылок над настройкой придется, что называется, попотеть. И использовать можно не только тот вариант, который был представлен выше. Некоторые разработчики уже сегодня предлагают автоматизированные системы создания и настройки таких серверов за весьма умеренную плату (а то и вообще бесплатно).
Используемые источники:
- http://ilyakhasanov.ru/baza-znanij/prochee/nuzhno-znat/139-nastrojki-otpravki-pochty-cherez-smtp
- https://www.hostinger.ru/rukovodstva/kak-ispolzovat-smtp-server
- https://fb.ru/article/258458/smtp-server-dlya-rassyilki-kak-nastroit-smtp-server