Mail php настроить от кого

Mail php настроить от кого

Внимание: На серверах виртуального хостинга отправка почты с сайта возможна только при помощи функции PHP mail().

Для корректной работы почты необходимо чтобы email администратора, указываемый для домена в Панели управления хостингом, совпадал с email администратора, указываемом в настройках CMS или сайта.

Совпадение этих email — обязательное условие корректной отправки почты. При этом необходимо указывать email вида: любое_удобное_имя@домен_вашего_сайта (реальное существование указываемого ящика необязательно). Указание ящиков вида: @gmail.com, @yandex.ru и др. недопустимо!

Изменить Email администратора в Панели управления хостингом

1. Переходим в Панель управления хостингом из личного кабинета;

2. Далее в WWW-домены;

3. Затем, двойным кликом, открываем параметры нужного домена;

4. В поле E-Mail администратора указываем почтовый ящик от которого планируется отправлять сообщения.

5. Подтверждаем кнопкой Ок.

Настройка отправки почты в CMS Drupal 7

По умолчанию все сообщения с Drupal7 отправляются по средствам php mail(), email отправителя указывается при установке Drupal7. В дальнейшем email отправителя можно будет изменить в административной части Drupal, в разделе: Administration — Configuration — System.

Если отправка сообщений с сайта не работает, необходимо проверить, возможно включен модуль для работы почты посредством SMTP. Для проверки зайдите в раздел модулей, в административной части сайта Drupal: Administration — Modules.

Отключите модуль SMTP, убрав «галочку» возле модуля и сохранив настройку Save configuration.

Возможно, что отправка сообщений посредством SMTP реализована и другим способом. Для отправки сообщений через SMTP необходимо, чтобы на сайте присутствовал PHPMailer. Файлы PHPMailer по умолчанию находятся в директории ./sites/all/modules/smtp/phpmailer.

Существуют еще несколько способов реализации отправки сообщений сайта через php mail и SMTP. С ними вы можете ознакомиться в документации к CMS

Все сообщения с сайтов на Drupal отправляются посредством внутреней функции Druapl drupal_mail(). Через данную функцию реализовано большинство модулей для отправки. Настройки находятся в файле ./includes/mail.inc

В частности за отправку сообщений отвечают следующие строки:

drupal_mail($module, $key, $to, $language, $params = array(), $from = NULL, $send = TRUE)

Настройка отправки почты в CMS Joomla 3

По умолчанию все сообщения с Joomla отправляются с помощью PHP mail, email отправителя указывается при установке CMS. Изменить email можно в админ-панели Joomla.

1. Переходим в Общие настройки;

2. Далее выбираем вкладку Сервер;

3. В поле E-Mail сайта указываем почтовый ящик от которого планируется отправлять сообщения и сохраняем.

Примечание: В поле Метод отправки должно быть выбрано PHP Mail.

Альтернативно, настройки для отправки почты могут быть прописаны в конфигурационном файле configuration.php, который расположен в корневой директории сайта.

В Joomla много модулей, каждый из которых может использовать собственную систему отправки почты с сайта, не зависящую от глобальных настроек самой CMS Joomla. В связи с этим возможна ситуация, когда глобально настроена отправка через PHP mail, а в конкретном модуле, который, к примеру, отвечает за «Обратную связь», через SMTP.

Настройка отправки почты в CMS WordPress 5

По умолчанию все сообщения с WordPress отправляются с помощью PHP mail, email отправителя указывается при установке CMS. Изменить email можно в админ-панели WordPress.

1. Переходим в Настройки — Общие;

2. В поле Административный адрес E-Mail указываем почтовый ящик от которого планируется отправлять сообщения и сохраняем.

Внимание: Важно, чтобы в Административный адрес E-Mail был указан существующий адрес почты.

Также желательно проверить, есть ли плагины для отправки писем через SMTP, если они есть, то отключить. Это можно сделать в Плагины — Установленные. Часто в названии таких плагинов прямо указано «..SMTP..»

Читайте также:  Кому написать чтобы отремонтировали мой подъезд

Иногда может возникнуть ошибка «Сообщение не удалось отправить. Возможная причина: сервер не поддерживает функцию mail(). »

Для ее решения нужно отредактировать файл на сайте ./wp-includes/pluggable.php найти в этом файле строчки:

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

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

Проверить отправку почты с сервера

Выполнив проверку, можно будет убедиться в корректности работы функции PHP mail.

Для проверки работы PHP mail() на сервере, в корневой папке вашего сайта необходимо создать файл testmail.php cо следующим содержимым (noreply@example.com это email на который будет отправлено сообщение):

Для проверки нужно запустить созданный файл, набрав в браузере вашдомен.by/testmail.php

Если сообщение «test php mail» пришло на указанный email, то функция php mail работает корректно.

Источник

Отправка Email с PHP Mail и PHPMailer: Полное Руководство

Электронная почта — неотъемлемая часть любого проекта или бизнеса. Хотя существует множество платформ для корпоративной почты, включая Hostinger, Zoho Mail и G Suite, вы также можете отправлять письма с помощью PHP. В этом руководстве мы расскажем, как работает отправка email с PHP mail() — встроенной функции, PHPMailer и простым протоколом передачи почты (SMTP).

Функция PHP mail()

Функция PHP mail() вызывает программу Sendmail, обычно настраиваемую системным администратором, которая и позволяет отправлять электронные письма.

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

Возникли проблемы с отправкой писем? Hostinger предусмотрена функция PHP mail().

Если вы уже являетесь клиентом Hostinger, вы можете включить или отключить эту функцию, войдя в hPanel. Нажмите «Почта» -> «Управление почтовыми сервисами».

Служба Sendmail должна быть включена по умолчанию. Однако рекомендуем перепроверить это в вашей панели управления хостингом.

Создание Тестового Файла PHP Mail

Прежде всего, вам необходимо создать файл для PHP-скрипта и поместить его в каталог public_html, чтобы к нему можно было легко получить доступ через доменное имя.

  1. В hPanel щёлкните на Файловый менеджер ->Перейдите на страницу Файлового менеджера.
  2. Создайте новый файл, нажав на иконку «Новый Файл» в верхнем меню. Назовём наш файл testmail.php и завершим процесс создания, нажав кнопку «Создать«.
  3. Дважды кликните по файлу testmail.php, поскольку мы собираемся редактировать его с помощью функции PHP mail(). Вот пример основных компонентов функции, которые мы будем использовать в этом руководстве. Они будут объяснены более подробно в следующем разделе. Сейчас просто нажмите «Save & Close«, когда закончите редактировать.
  4. Теперь вы можете отправить электронное письмо, открыв в браузере VashDomen/testmail.php. Не забудьте заменить «VashDomen» на доменное имя, которое вы использовали для создания тестового файла testmail.php.
  5. Теперь отправка email с PHP должна работать. Письмо должно прийти на почту получателя.

Компоненты PHP mail

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

Однако, если вам нужна дополнительная информация о функции Sendmail и её компонентах, вы можете обратиться к официальной документации PHP.

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

Теперь давайте рассмотрим каждую его часть отдельно.

Эти первые две строки охватывают отчёты об ошибках. Они сообщат вам, если скрипт не удалось выполнить.

Эта строка должна содержать адрес электронной почты отправителя. Большинство хостинг-провайдеров не разрешают использовать случайные адреса, так как это может быть использовано с целью спуфинга (англ.) — подделки писем. Всегда указывайте адреса, созданные для вашего доменного имени или бренда, тогда отправка email c PHP mail должна быть успешной.

Читайте также:  Постал 2 не работает мышь

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

Здесь мы вводим тему письма.

Здесь мы вводим текст сообщения.

Указывает важную информацию, такую как адрес отправителя.

Эта строка используется при выполнении функции. Оставьте её без изменений.

Сообщение, которое появится в случае успешного выполнения скрипта.

Отправка Писем с PHPMailer

PHPMailer — популярная библиотека отправки почты для PHP. Она поддерживает отправку писем, как через функцию mail(), так и через простой протокол передачи почты (SMTP). Библиотека значительно упрощает сложный процесс отправки писем с помощью PHP, предоставляя набор готовых функций для создания и отправки почты.

Установить PHPMailer довольно просто, особенно если у вас установлен Composer. Если вы используете Hostinger, вам не нужно об этом беспокоиться, поскольку он по умолчанию включен в каждый пакет хостинга.

Однако, если вам нужно установить PHPMailer вручную, тогда подключите свою учётную запись хостинга через терминал SSH. Следуй этой инструкции:

  1. Загрузите и установите SSH-клиент PuTTY.
  2. Перейдите в панель управления hPanel, найдите и кликните по «SSH-доступ» в разделе «Расширенные«.
  3. Обратите внимание на раздел с информацией для SSH-доступа. Вам понадобится SSH IP, порт, имя пользователя и пароль.
  4. Откройте PuTTY, затем укажите свой SSH IP и порт соответственно.
  5. Нажмите Open, появится командное окно. Введите своё имя пользователя и пароль SSH. Как только это будет сделано, нажмите Enter.

ПРИМЕЧАНИЕ: PuTTY НЕ показывает пароли. Не волнуйтесь, если вы не увидите ваш пароль на экране.

Использование PHPMailer с SMTP Hostinger

Теперь, когда PHPMailer готов к работе, вы можете начать использовать его для отправки почты средствами PHP и через Hostinger SMTP.

  1. Создайте учётную запись электронной почты, войдя в hPanel. Перейдите в раздел «Почтовые аккаунты» -> «Создать новую учётную запись электронной почты». Введите новый адрес электронной почты и установите пароль, затем нажмите «Создать».
  2. Когда закончите, обратите внимание на свои данные SMTP, расположенные на той же странице в самом вверху.

ПРИМЕЧАНИЕ. Для того чтобы отправить письмо через PHPMailer, вам нужно знать имя пользователя учётной записи электронной почты, пароль к учётной записи, хост SMTP и порт SMTP.

Компоненты PHPMailer

Чтобы понять, как работает PHPMailer, давайте разберём приведённый выше пример скрипта, который использует SMTP для отправки электронной почты. Вот подробное объяснение каждого компонента:

Эта строка импортирует класс PHPMailer в глобальное пространство имён.

Включает различные библиотеки, необходимые PHPMailer.

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

Определяет, что происходит при выполнении скриптов.

В случае сбоя отправки скрипта отобразится сообщение об ошибке с пояснением.

Определяет, что произойдёт, если скрипт будет выполнен.

Если письмо успешно отправлено, появится это сообщение.

СОВЕТ: строка SMTPDebug = 2; полезна лишь в том случае, если вы тестируете скрипт и хотите увидеть, как он работает. Измените её на SMTPDebug = 0; если вы закончили тест. Таким образом, конечный пользователь не увидит отчёт по SMTP.

Если вы обратили внимание, то, наверняка, заметили, что в этом примере мы делаем что-то немного по-другому. Вместо обычного текста, мы отправляем HTML-сообщение.

Следовательно, содержимое вашего сообщения будет загружаться из файла message.html, расположенного в том же каталоге — public_html.

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

Контактная Форма PHPMailer

Возможности PHPMailer не ограничиваются только отправкой PHP-почты. Ещё один вариант его применения — создание контактной формы, с помощью которой ваша аудитория сможет с вами связаться.

Вот пример скрипта:

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

Вот как выглядит результат:

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

СОВЕТ: если контактная форма PHPMailer не работает, добавьте строку $mail->SMTPDebug = 2;, чтобы узнать, что вызывает проблему. Не забудьте удалить эту строку или поменять 2 на 0, когда закончите.

PHPMailer имеет больше примеров применения, которые вы найдёте в их официальном репозитории GitHub. Кроме того, если вы используете WordPress, вы можете легко создать контактную форму с помощью таких плагинов, как WP Forms , Formidable Form или Gravity Forms .

Устранение Распространённых Ошибок PHP Mail и PHPMailer

Отправка Email с PHP или PHPMailer время от времени может сопровождаться ошибками. Вот список наиболее распространённых проблем и способы их решения.

Адрес Отправителя Отклонён: Не Принадлежит Пользователю

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

Чтобы исправить это, проверьте адрес электронной почты, который вы использовали для отправки сообщения, и убедитесь, что он соответствует существующему ящику электронной почты. Если он указывает не на тот почтовый ящик, измените его соответствующим образом. Также убедитесь, что вы включили SPF-запись (англ).

Системе Gmail не Удалось Подтвердить, что Это Письмо Отправлено из Домена VashDomen.com

Если вы увидели это предупреждение при тестировании почтового скрипта PHP, это может означать одно из следующих:

  • Ваша SPF-запись не включена. Вы можете найти инструкции по её добавлению здесь (англ.).
  • Вы отправили электронное письмо с адреса, который не существует или не принадлежит вам. Убедитесь, что вы используете действительные данные аутентификации SMTP.

Сообщения Попадают в Спам

Есть несколько причин, по которым сообщения PHP могут попадать в спам. Вот некоторые из самых распространённых:

  • Тема сообщения, вводящая в заблуждение или похожая на спам. Например, когда вы указываете одно слово: «тест» или «тестирование», «привет», «срочно» или что-то подобное. Убедитесь, что ваша тема чётко отображает суть сообщения.
  • Вы используете неправильный адрес отправителя и ваше сообщение отфильтровывается как спам. Такая мера безопасности направлена на борьбу со спуфингом и мошенничеством.
  • Вы используете слова, которые работают как триггеры для фильтрации спама. В эту категорию входят такие фразы, как «отличное предложение», «нажмите здесь», «специальная акция», «это не спам» и т. д. Попробуйте изменить содержание сообщения, чтобы проверить, так ли это.
  • В вашем списке рассылки нет кнопки «Отписаться от рассылки«. Когда много людей сообщают о ваших письмах как о спаме, вам будет сложно избежать спам-фильтра. Наличие кнопки отказа от подписки — отличный способ предотвратить это и вызвать больше доверия у ваших читателей.

Заключение

Теперь вы знаете, как происходит отправка email с PHP, а также, как использовать PHPMailer для отправки писем с аутентификацией SMTP. Не смотря на то, что в этом руководстве представлены базовые примеры, тот же синтаксис можно использовать в разработке контактной формы и других расширений для вашего сайта.

Для более подробной информации не забудьте посетить страницу проекта PHPMailer. Если у вас есть какие-либо советы, рекомендации или идеи, мы будем рады услышать их в разделе комментариев ниже.

Елена имеет профессиональное техническое образование в области информационных технологий и опыт программирования на разных языках под разные платформы и системы. Более 10 лет посвятила сфере веб, работая с разными CMS, такими как: Drupal, Joomla, Magento и конечно же наиболее популярной в наши дни системой управления контентом – WordPress. Её статьи всегда технически выверены и точны, будь то обзор для WordPress или инструкции по настройке вашего VPS сервера.

Источник

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