Функция mail php не работает: Почему PHP функция mail() не работает на сервере? — Хабр Q&A

Содержание

macos — Функция PHP mail() не работает в Mac OS X

Я перешел по всем ссылкам, приведенным в этом посте, ничего не получилось. Пожалуйста, объясните мне, почему PHP mail() создает столько проблем? Что именно происходит и почему это не сработает?

Я использую macOS Lion (10.7.3).

Я сделал все изменения, что нужно, как:

setting MAILSERVER=-YES- in my /etc/hostconfig
Setting sendmail_path = /usr/sbin/sendmail -t -i  in php.ini
Setting myhostname variable in /etc/postfix/main.cf 
Setting hostname/User/Pass in submit.cred

Поэтому, пожалуйста, дайте мне решение, кроме изменения этих файлов.

Проблемы, с которыми я сталкиваюсь:

  1. Как только я начну postfix, я получу предупреждающие сообщения

    sudo postfix start
    postfix/postfix-script: warning: not owned by root: /etc/postfix/main.cf
    postfix/postfix-script: warning: not owned by root: /etc/postfix/submit.cred
    postfix/postfix-script: warning: not owned by _postfix:     /Library/Server/Mail/Data/mta/./master.lock
    postfix/postfix-script: warning: group or other writable: /Library/Server/Mail/Data/mta
    postfix/postfix-script: starting the Postfix mail system
    
  2. В mail.log я получу следующий вывод:

    postfix/smtp[470]: 211B318690B: to=<[email protected]>, relay=none, delay=86583, delays=86521/0.05/62/0, dsn=4.4.1, status=deferred (connect to alt2.gmail-smtp-in.l.google.com[2607:f8b0:4002:c02::1a]:25: No route to host)
    postfix/smtp[473]: connect to [email protected] : Operation timed out
    postfix/smtp[473]: to=<[email protected]>, relay=none, delay=169837, delays=169717/0.04/120/0, dsn=4.4.1, status=deferred (connect to example.com: Operation timed out) 
    

Когда я alt2.gmail-smtp-in.l.google.com , он скажет

Request timeout for icmp_seq 0
36 bytes from IPADD: Communication prohibited by filter

(Обратите внимание, что IPADD означает, что там указан некоторый IP-адрес.)

Не удалось вызвать функцию mail — Раздел помощи

Oшибка «Не удалось вызвать функцию mail» может появиться в случае, если данная функция отключена со стороны сервера либо выполнена некорректная настройка скриптов сайта.

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

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

Действия при приостановке функции sendmail

При превышении лимита отправки сообщений с сайтов, на административный email аккаунта направляется уведомление.

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

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

  • Включить логи посещений (access_log) в панели управления в разделе «Log файлы».
  • Проверить аккаунт на наличие вредоносных программ с тем, чтобы по окончании работ удалить вставки вредоносного кода и сторонние файлы с аккаунта.
  • Зафиксировать время редактирования подозрительных и повреждённых файлов или их появления на аккаунте с помощью команды stat по SSH.
  • В случае повторения ситуации и появления на аккаунте новых вредоносных программ рекомендуется произвести анализ с помощью команды stat и логов посещений (access_log) на предмет запросов, произошедших во время загрузки или изменения найденных файлов.

Пример использования команды stat:

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

После того, как работы по очистке сайтов от вредоносного содержимого будут завершены и приняты основные меры защиты аккаунта в соответствии с нашими рекомендациями (либо произведена перенастройка почтовых программ, посредством которых производилась рассылка), для включения sendmail необходимо ответить на полученное от нас уведомление, указав в ответе список принятых мер.

проблемы с отправкой почты на CentOS 7

Настройки почты находятся в файле .env. Выбирая MAIL_MAILER=smtp или MAIL_MAILER=sendmail вы даже при правильных настройках скорее всего получите следующее сообщение об ошибке при отправке письма: Swift_TransportException Connection could not be established with host :stream_socket_client(): unable to connect to ssl://:465 (Permission denied)

Функция mail php тоже почту не отправляет. При том, что из командной строки утилита mail письмо отправляет. Для решения данной проблемы нужно выполнить следующие две команды:


$ setsebool -P httpd_can_network_connect on

$ setsebool -P httpd_can_sendmail on

Если не стоит sendmail, то:


yum install sendmail sendmail-cf -y
systemctl enable sendmail
systemctl start sendmail

Но и на этом приключения могут не закончиться. Вы можете получить такое сообщение: Failed to authenticate on SMTP server with username «[email protected]» using 2 possible authenticators. Authenticator LOGIN returned Expected response code 235 but got code «535», with message «535 5.7.0 Error: authentication failed: UGFzc3dvcmQ6 «. Authenticator PLAIN returned Expected response code 235 but got code «535», with message «535 5.7.0 Error: authentication failed: UGFzc3dvcmQ6

Такая ошибка аутентификации возникает, если в пароле есть символ # и пароль не заключён в двойные кавычки. Заключите пароль в двойные кавычки и авторизация пройдёт успешно.

Если вы выбираете MAIL_MAILER=sendmail, то параметры:


MAIL_PORT=465
MAIL_HOST=itsoft.ru
[email protected]
MAIL_PASSWORD="dhdbfjkeb45DFDWDCe"
MAIL_ENCRYPTION=ssl

заполнять не нужно. Они роли не играют, см. config/mail.php


        'sendmail' => [
            'transport' => 'sendmail',
            'path' => '/usr/sbin/sendmail -bs',
        ],

Установка и настройка sendmail под Ubuntu

При отправке сообщения через форму обратной связи появляется ошибка с текстом «Произошла ошибка при попытке отправить почту. Could not instantiate mail function.» Возникать она может при отсутствии на хостинге агента sendmail или модуля php-mail.

На нормальных хостинговых площадках отправка почты через sendmail настроена по умолчанию, поэтому стоит поискать причины появления этой ошибки в настройках CMS или коде сайта. В моем случае веб-сервер настраивался мной и причина оказалась в отсутствии вышеуказанного агента и модуля. Вот как они устанавливаются в Ububntu:

1. Устанавливаем модуль php-mail если он еще не стоит:


sudo apt-get install php-mail

2. Устанавливаем sendmail:


$ sudo apt-get install sendmail
$ sudo sendmailconfig

Ответьте на вопросы, которые будут заданы. Ниже перечислены основные файлы, в которые будут внесены изменения:


/etc/mail.sendmail.conf
/etc/cron.d/sendmail
/etc/mail/sendmail.mc

3. Если все в порядке, правим «php.ini»


nano /etc/php5/apache2/php.ini

Находим закомментированую строку «;sendmail_path = » (поиск в nano ctrl+w). Заменяем на строку следующего содержания:


sendmail_path =  /usr/sbin/sendmail -t -i

4. Делаем рестарт Apache


sudo service apache2 restart

5. Проверить работоспособность sendmail можно двумя командами:


$ /usr/sbin/sendmail [email protected]  


    
    



В течении минуты на указанный электронный адрес должно прийти письмо. Если этого не произошло, то следует посмотреть логи отправки в каталоге «/var/log/syslog». Если в логах появилось сообщение: «Connected time out», значит или firewall не пропускает пакеты через порт 25, или ионтернет-провайдер. Проверить это можно командой telnet:


telnet smtp.mail.ru 25

Если результатом работы команды стало так же «Connected time out», то разбирайтесь, где блокируется порт 25.

Как отправлять письма с формами, используя сервер ретрансляции SMTP | Хостинг на базе Linux (cPanel)

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

Отправка писем через других поставщиков услуг запрещена. Вам необходимо использовать следующие настройки:

Порт: 25
Аутентификация SMTP: нет
SSL или защищенное подключение: нет
Сервер или хост: Сервер ретрансляции зависит от типа хостинга и используемого скрипта. Какого типа ваш хостинг-аккаунт?

Linux (cPanel)

Указывайте имя localhost, кроме случаев, когда вы:

  • используете PHP-скрипт и функцию mail();
  • используете скрипт Perl и двоичный код /usr/lib/sendmail.

В таких ситуациях сервер ретрансляции указывать не нужно.

Windows (Plesk)

Указывайте имя relay-hosting.secureserver.net. Если вы используете PHP-скрипт и функцию mail(), сервер ретрансляции указывать не нужно.

Управляемый WordPress

Указывайте имя relay-hosting.secureserver.net, кроме случаев, когда вы:

  • используете PHP-скрипт и функцию mail();
  • используете скрипт Perl и двоичный код /usr/lib/sendmail.

В таких ситуациях сервер ретрансляции указывать не нужно.

Веб-хостинг/Классический хостинг (Панель управления хостингом)

Указывайте имя

relay-hosting.secureserver.net, кроме случаев, когда вы:

  • используете PHP-скрипт и функцию mail();
  • используете скрипт Perl и двоичный код /usr/lib/sendmail.

В таких ситуациях сервер ретрансляции указывать не нужно.

Настройка почты для работы в php-fpm из chroot

После установки PHP как php-fpm работающего в chroot и установки сервера почты можно обнаружить, что отправка почты из PHP стандартной функцией mail не работает. И это не удивительно, т.к. стандартный вариант PHP шлет почту через sendmail, который складывает сгенерированные письма в файлики уже непосредственно тому, кто будет отсылать. Поскольку наш PHP находится в chroot, то и до sendmail он достучаться не может. Если sendmail со всеми библиотеками положить в наш chroot и как следует настроить, то это может решить проблему, но путь этот слишком сложный, в замен этого предлагаю два более простых:

  • Если ваши php скрипты могут слать почту через SMTP — их надо просто настроить так, чтобы почта отправлялась с локального SMTP вашего VDS. Это не лечит mail, но и делать ничего не надо.
  • Если скрипты умеют использовать только функцию PHP mail, то слать почту через mini_sendmail. Об этом варианте и пойдет речь.


Установка mini_sendmail будет произведена из сырцов. Так же нам потребуется bash скомпилированный статически (все библиотеки внутри, чтобы не тащить за собой весь linux) и утилита patch (для наложения патча на mini_sendmail).
Устанавливаем необходимый софт:

sudo apt-get install bash-static patch make gcc

Получаем сырцы mini_sendmail:

cd /usr/local/src
sudo wget http://acme.com/software/mini_sendmail/mini_sendmail-1.3.6.tar.gz
sudo tar xvfz mini_sendmail-1.3.6.tar.gz
sudo rm ./mini_sendmail-1.3.6.tar.gz

Перед сборкой на mini_sendmail надо наложить патч, убирающий некоторый ненужный нам функционал и некоторые ошибки. Получаем патч для mini_sendmail и накладываем на сырцы:

sudo wget http://daily-notes.ru/files/2011/11/minisendmail.patch
sudo patch -p0 < minisendmail.patch

Компилируем mini_sendmail:

cd /usr/local/src/mini_sendmail-1.3.6
sudo make

Компилятор будет ругаться предупреждениями, но нам это не помешает, т.к. работать mini_sendmail будет только на локальном хосте. После компиляции mini_sendmail лежит тут — /usr/local/src/mini_sendmail-1.3.6/mini_sendmail.
Теперь надо создать нужную структуру папок в chroot и разложить копии наших файликов. Пристраиваем mini_sendmail (он будет притворяться sendmail ;)):

sudo mkdir /home/koteika.ru/usr/sbin
sudo cp /usr/local/src/mini_sendmail-1.3.6/mini_sendmail /home/koteika.ru/usr/sbin/mini_sendmail
sudo chmod +x /home/koteika.ru/usr/sbin/mini_sendmail
sudo ln -s mini_sendmail sendmail
sudo mv ./sendmail /home/koteika.ru/usr/sbin/sendmail

Теперь надо добавить bash для того, чтобы PHP смог запускать mini_sendmail:

sudo cp /bin/bash-static /home/koteika.ru/bin/bash-static
sudo chmod +x /home/koteika.ru/bin/bash-static
sudo ln -s bash-static sh
sudo mv ./sh /home/koteika.ru/bin/sh

Теперь правим конфиг php-fpm для нашего сайта (у меня это /usr/local/php/etc/pools/koteika.ru.conf). Добавим вот такую строчку:

php_admin_value[sendmail_path] = /usr/sbin/sendmail -t [email protected]

Где: [email protected] — адрес, с которого будет отправляться почта по умолчанию.
Перезапускаем php-fpm и радуемся работающей почте:

sudo service php5-fpm restart

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

Как проверить и исправить функцию php mail ()

Функция php mail () позволяет отправлять электронные письма прямо с php сценарий.


Из этого туториала Вы узнаете, как проверить, правильно ли работает php mail.

Протестируйте почту php () на вашем веб-сервере

1. Создайте тестовый файл php с помощью текстового редактора и сохраните его. например как test.php:

$ sender = ‘кто-то @ somedomain.tld ‘;
$ recipient = ‘[email protected]’;

$ subject = «проверка почты на php»;
$ message = «тестовое сообщение php»;
$ заголовки = ‘От:’. $ отправитель;

if (почта ($ получатель, $ тема, $ сообщение, $ заголовки))
{
эхо «Сообщение принято»;
}
остальное
{
echo «Ошибка: сообщение не принято»;
}
?>

2. Изменить $ отправителя и $ получателя в коде.

3. Загрузите php-файл на свой веб-сервер.

4. Откройте загруженный файл php в своем браузере на выполнить скрипт php .

5. Выходные данные показывают либо «Сообщение принято», либо «Ошибка: Сообщение не принято ».

chevron_right Сообщение принято:

Откройте свой почтовый клиент, чтобы узнать, было ли сообщение доставлено по указанному адрес электронной почты.
(также проверьте папку со спамом!)

Если сообщение доставлено:

  • Все нормально — php mail работает.

Если сообщение не было доставлено:

  • Некоторые провайдеры не допускают внешних получателей при использовании почты php. Измените получателя ($ recipient) в коде на локального получателя. Это означает использование адреса электронной почты из домена сервера, например если домен вашего сервера www.yourdomain.tld, то адрес электронной почты получателя должно быть [email protected].
  • Загрузите измененный файл php и повторите попытку.
  • Если он по-прежнему не работает: измените отправителя ($ sender) на локального электронная почта (используйте тот же адрес электронной почты, что и для получателя).
  • Загрузите измененный файл php и повторите попытку.
  • Обратитесь к своему провайдеру, если он по-прежнему не работает.
    Сообщите своему провайдеру что стандартная функция php «mail ()» возвращает ИСТИНА, но не почта быть отправленным.
    Рекомендуется включить используемый тестовый скрипт php в покажите провайдеру, что проблема не в скрипте php использовал.

chevron_right Ошибка: сообщение не принято

Почта php может быть отключена:

  • Войдите в конфигурацию своего веб-сервера и проверьте настройки php.
    Некоторые установки php требуют, чтобы вы установили отправителя по умолчанию в Сначала конфигурация php.

Некоторые провайдеры не разрешают внешним получателям при использовании php почта:

  • Измените получателя ($ recipient) в коде на локального получателя.Это означает использование адреса электронной почты из домена сервера, например если домен вашего сервера www.yourdomain.tld, то адрес электронной почты получателя должно быть [email protected].
  • Загрузите измененный файл php и повторите попытку.
  • Если он по-прежнему не работает: измените отправителя ($ sender) на локального электронная почта (используйте тот же адрес электронной почты, что и для получателя).
  • Загрузите измененный файл php и повторите попытку.

Если вы проверили настройки php, попробовали локального получателя и он все еще не работает:

  • Обратитесь к своему провайдеру, если вы не можете включить php mail ().
    Сообщите своему провайдеру, что стандартная функция php mail () возвращает FALSE.
    Рекомендуется включить используемый тестовый скрипт php, чтобы показать вашего провайдера, что проблема не вызвана используемым скриптом php.
Отказ от ответственности: информация на этой странице предоставляется «как есть» без каких-либо гарантий. Кроме того, Arclab Software не гарантирует и не делает никаких заявлений. относительно использования или результатов использования с точки зрения правильности, точности, надежности, актуальности или иным образом.См .: Лицензионное соглашение

Почему функция PHP Mail не отправляет почту?

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

Но, как и многие вещи, которые кажутся такими простыми, функция PHP mail () не всегда работает так гладко, и может быть сложно определить, почему. Это может быть, например, из-за того, что вам не хватает необходимых параметров, есть опечатки в адресе электронной почты получателя или вам нужно настроить ретранслятор SMTP.

Из всех возможных вариантов того, почему ваш PHP mail () не отправляет электронную почту, мы обнаружили, что большинство проблем связано с неправильной настройкой Postfix. Мы подробно рассмотрим Postfix, как его правильно настроить, и протестируем его, чтобы убедиться, что ваша почта отправляется.

Что такое Postfix?

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

Postfix настолько широко используется, что предустановлен на большинстве компьютеров, отличных от Windows.Хотя предустановленный Postfix удобен, это может означать, что он не был правильно настроен, что приведет к сбоям в работе PHP mail ().

Как настроить Postfix?

Прежде чем мы проверим, правильно ли настроен Postfix, давайте сначала проверим, установлен ли он.

В вашем терминале выполните следующую команду:

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

Если он не был установлен, ознакомьтесь с документацией Postfix или обратитесь к своему хосту за инструкциями по установке.

Postfix имеет несколько требований, которые должны быть выполнены для правильной отправки электронных писем.

Сначала измените локальную конфигурацию Postfix. Вы можете загрузить редактор прямо со своего терминала, выполнив следующую команду:

После открытия убедитесь, что следующие 4 переменные определены следующим образом:

И вуаля! Сохраните изменения и перезапустите Postfix с помощью `sudo postfix reload`.

Мы обнаружили, что наиболее важной из этих переменных является myhostname. Если вы не определите эту переменную, ваша локальная среда не сможет назначить местоположение по умолчанию для отправки электронной почты. Используйте реальный домен или что-то произвольное (как в примере выше) для выполнения этого значения.

Как протестировать Postfix и PHP mail ()

Чтобы проверить, работает ли Postfix, а затем PHP mail (), мы создадим простой скрипт для запуска. В вашем любимом текстовом редакторе или интегрированной среде разработки (IDE) создайте файл с именем `mail.php` и включите следующий код:

Не забудьте заменить переменную `$ to` своим фактическим адресом электронной почты. В своем терминале запустите программу с помощью следующей команды и проверьте свою электронную почту:

Подведение итогов

Отправка электронной почты с помощью PHP mail () довольно проста, что делает ее еще более неприятной, если она работает некорректно. Помните о конфигурации Postfix, если вы столкнетесь с ошибками при отправке.

Спросите себя:

  1. Установлен ли на вашем компьютере Postfix?
  2. Определены ли у вас 4 переменные, в частности «myhostname»?
  3. Вы добавили свой адрес электронной почты (и правильно его написали) при тестировании?

Если у вас по-прежнему возникают проблемы с PHP mail (), не отправляющим электронную почту, ознакомьтесь с этим ответом на StackOverflow, чтобы получить дополнительные идеи по устранению неполадок.

PHP-функция почты не работает в cPanel — причины и исправления

PHP-приложения, такие как WordPress, Joomla и т. Д., Отправляют почту с помощью функции PHP (также известной как функция) под названием «mail ()».

Хакеры в основном используют почтовую функцию PHP для рассылки спама.

Неудивительно, что хостинговые компании отключают почтовую функцию PHP на сервере, как правило.

Это приводит к сбою почты из таких приложений, как wordpress, со следующей ошибкой.

  «Электронное письмо не может быть отправлено.Возможная причина: возможно, ваш хост отключил функцию mail () ».  

Владельцам веб-сайтов по-прежнему нужен способ отправки писем со своих веб-сайтов. Bobcares предлагает решения для владельцев серверов в рамках услуг поддержки внешнего хостинга .

Сегодня давайте обсудим две причины сбоя почты php и способы их устранения.

Что вызывает сбой функции почты php? «Никто» пользователь.

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

Таким образом, хостинговые компании защищают злоупотребление функцией PHP mail () двумя способами:

1. Запретить никому отправлять почту

Как известный источник спама, большинство серверов веб-хостинга предотвращают получение всех писем от «никого». » личность.

Например, на сервере cpanel есть возможность ОТКЛЮЧИТЬ почту от кого-либо, как показано на изображении ниже.

Но это действие также заблокирует почту от законных пользователей, если на сервере нет исправительных функций.

Итак, наши инженеры службы поддержки включают специальные модули php, такие как suphp, fastcgi и т. Д., Которые используют собственный идентификатор веб-сайта для отправки почты.

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

2. Функция почты присутствует в списке disable_functions файла php.

Хакеры могут использовать определенные функции PHP, такие как «shell_exec», «system» и т. Д.атаковать сервер.

Итак, хостинговые компании отключают такие опасные функции php на сервере.

Когда функция PHP mail () также добавлена ​​в список disable_functions, блокируются даже письма от законных пользователей.

На таких серверах мы помогаем владельцам веб-сайтов настраивать свои сайты для отправки почты через порт SMTP вместо функции PHP mail ().

Для этого мы установили плагины и модули для таких веб-сайтов, как «WP Mail SMTP» для wordpress, PHPMailer для Drupal и т. Д.

Таким образом, все письма с веб-сайтов обходят почтовую функцию PHP и отправляются через SMTP-порт почтового сервера (как это делают почтовые клиенты, такие как Outlook).

Заключение

Сбой функции PHP mail () обычно происходит из-за ограничений на сервере веб-хостинга. Здесь мы обсудили две причины, по которым наши специалисты службы поддержки увидели, и способы их устранения.

ПРЕДОТВРАТИТЕ СВОЙ СЕРВЕР ОТ ВЫПОЛНЕНИЯ АВАРИИ!

Никогда больше не теряйте клиентов из-за низкой скорости сервера! Позвольте нам помочь вам.

Наши специалисты по серверам будут контролировать и обслуживать ваш сервер 24/7, чтобы он оставался молниеносно быстрым и безопасным.

СМОТРЕТЬ ПЛАНЫ АДМИНИСТРАТОРА СЕРВЕРА

var google_conversion_label = «owonCMyG5nEQ0aD71QM»;

PHP почтовая функция не работает на локальном хосте. : enRaiser

Я внес изменения в PHP.ini
SMTP = ssl: //smtp.gmail.com
smtp_port = 465
, но после этого почтовая функция не работала.
Я просто хотел, чтобы какое-то электронное письмо было отправлено с моего тестового сервера localhost, и я не хочу устанавливать XAMP или какой-либо другой почтовый сервер на моем локальном хосте.Я согласился с использованием учетной записи GMAIL.
Итак, я узнал, что я не могу использовать функцию mail (…), поскольку в php.ini вы не можете установить SMTP-аутентификацию (имя пользователя passwd).

Позже я попробовал пакет PEAR Mail, как предложено в этой ссылке, http://email.about.com/od/emailprogrammingtips/qt/PHP_Email_SMTP_Authentication.htm
, но все равно он не работал.

После долгих проб и ошибок я понял, что мне нужно не комментировать,
extension = php_openssl.dll
, и моя проблема решена,
Надеюсь, это поможет вам.

Я тестировал это только на OSX, но он должен работать с любыми настройками localhost.

——————— игнорировать следующие тексты ————

Есть несколько других решений:

  • Установить локальный почтовый сервер при наличии достаточных прав
  • Измените настройки PHP, чтобы использовать другой почтовый сервер (другой открытый почтовый сервер или серверы на основе аутентификации, такие как Gmail, Yahoo и т. Д.).
  • Используйте одну из доступных почтовых библиотек, поддерживающую IMAP / POP3, для обработки отправки почты.SwiftMailer или Pear Mail — одни из наиболее часто используемых.

Вы также можете использовать

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

Для использования SMTP-сервера Gmail необходимо изменить доступ к учетной записи для менее безопасных приложений. Не волнуйся! Просто следуйте приведенным ниже инструкциям.

Хороший пост.. Это очень полезно для изучения функции mail (). Еще раз спасибо.

Если вы работаете с функцией phpmail и получили сообщение «Почта отправлена», оно должно быть отправлено с сервера. Теперь вам нужно будет проверить журналы сервера и посмотреть, действительно ли сообщение было отправлено и было ли оно правильно получено другим сервером.

PHP должен быть правильно настроен в файле php.ini с подробной информацией о том, как ваша система отправляет электронную почту.Откройте файл php.ini, доступный в каталоге / etc / , и найдите раздел под заголовком [функция почты] .

Пользователи Windows должны убедиться, что предоставлены две директивы. Первый называется SMTP, который определяет адрес вашего почтового сервера. Второй называется sendmail_from, который определяет ваш собственный адрес электронной почты.

Конфигурация для Windows должна выглядеть примерно так:

 [почтовая функция]
; Только для Win32.
SMTP = smtp.secureserver.net

; Только для win32
sendmail_from = [электронная почта защищена]
 

Пользователям Linux просто нужно сообщить PHP, где находится их приложение sendmail .Путь и любые желаемые параметры должны быть указаны в директиве sendmail_path.

Конфигурация для Linux должна выглядеть примерно так:

 [почтовая функция]
; Только для Win32.
SMTP =

; Только для win32
sendmail_from =

; Только для Unix
sendmail_path = / usr / sbin / sendmail -t -i
 

внесите необходимые изменения в файл php.ini и попробуйте еще раз.

Функция почты PHP не работает на моем сервере?

Функция почты в php не работает на сервере

Функция почты PHP не работает на моем сервере? может показаться).Кроме того, объявление charset = utf-8 в функции «Моя почта» находится на онлайн-сервере. Он работал нормально. Но не сейчас. Я не понимаю, почему он перестал отправлять почту. Он показывает сообщение, которое было отправлено по электронной почте, но оно не получено в почтовый ящик. Вот мой код php:

Как проверить и исправить функцию php mail (), Функция php mail () позволяет отправлять электронные письма прямо из сценария php. Из этого туториала Вы узнаете, как проверить, правильно ли работает php mail. например, если домен вашего сервера www.yourdomain.tld, затем адрес электронной почты получателя. Если он по-прежнему не работает: измените отправителя ($ sender) на локальный адрес электронной почты (используйте тот же адрес электронной почты, что и Откройте свой почтовый клиент, чтобы узнать, было ли сообщение доставлено на указанный адрес электронной почты. (также проверьте ваша папка для спама!) Если сообщение было доставлено: все в порядке — почта php работает. Если сообщение не было доставлено: некоторые провайдеры не разрешают внешним получателям при использовании почты php.

Функция почты PHP не работает, Я настроил сервер, и он работает нормально, однако почтовая функция php не работает.Не могли бы вы описать дальнейшие шаги для решения этой проблемы? Этот последний метод не влияет на файл php.ini и не использует встроенную почтовую функцию PHP (хотя вам все равно нужен сервер STMP). Есть много других почтовых библиотек, мы будем использовать PHPMailer для этого метода, и вот ссылка на их документацию.

Функция почты Php не работает cpanel

Функция PHP Mail () не работает на хостинге cpanel, Ваш код кажется правильным, но большинство хостов блокируют функцию почты по умолчанию и / или запрещают пользователю никому отправлять электронные письма.В настройках функция PHP mail () отключена, но скрипт может отправлять электронные письма: Обсуждение электронной почты: 6: 17 ноября, 2016: O: Функция почты PHP перестала работать проблема: Обсуждение электронной почты: 1: 2 июня, 2016: L: Ошибка проверки отправителя с функцией почты PHP через Cron или SSH: Обсуждение электронной почты: 9: 8 января 2016: M: Невозможно отправлять письма с помощью функции php mail () в домен с

Функция почты PHP не работает в cPanel — Причины и исправления, Функция почты PHP не работает в cPanel из-за ограничений функции PHP.Вот два общих ограничения на PHP mail () и то, как в настройках настройки попробуйте отключить опцию «Запретить никому отправлять почту». В редакторе конфигурации PHP (в расширенном режиме) проверьте, указана ли почтовая функция в директиве disable_functions. Если ничего из этого не работает, проверьте, запущен ли exim и правильно ли указан sendmail_path в php.ini.

php-функция mail () не работает в моей учетной записи, PHP-функция mail () не требует SMTP-аутентификации для отправки электронных писем с сервера.Следовательно, большинство хостинг-провайдеров отключает его, потому что это в основном функция php Mail (вы можете найти эту функцию в документации для функции почты в PHP для получения более подробной информации). На самом деле он не имеет доступа к учетной записи электронной почты так, как вы думаете об этом при использовании почтового клиента. Следует отметить, что почта, отправляемая из почтовых функций PHP, обычно блокируется из-за отсутствия

.

Почтовая функция Php не работает на сервере godaddy

Решено: PHP mail () не отправляет, Я полагаю, то же самое будет работать для любого удаленного почтового сервера (например.грамм. Google), почтовая функция PHP иногда работает, а иногда — нет. Итак, я поработал, используя почтовую функцию php на хостинге godaddy deluxe. Он будет отправлен на мою учетную запись gmail, но фактическая учетная запись электронной почты, использующая домен, который был на godaddy, почта никогда не доставлялась. Я должен верить, что в безумии есть какой-то метод. Я предлагаю попробовать другой адрес электронной почты, если вы не получаете письма от mail ().

Решено: функция почты PHP не работает, Если вы используете SMTP для отправки почты, убедитесь, что в ваших настройках настроены правильный сервер ретрансляции и порт. Это будет хостинг ретрансляции.secureserver.net с использованием порта 25. Я думаю, что может потребоваться добавить поле To в заголовки. $ заголовки. Мы хотели бы показать вам здесь описание, но сайт не позволяет нам.

PHP mail () будет отправлять — это простое решение, Решено: у меня есть 3 формы PHP на моем веб-сайте — все используют функцию PHP send (), и все они перестали работать на сервере GoDaddy Windows. Мы тоже не принимаем. Как уже упоминалось, GoDaddy не поддерживает функцию mail () на своем стандартном хостинге из-за спамеров.GoDaddy говорит, что они разрешают fsockopen () на портах 80 и 443, но не упоминают о том, что функция почты

Php не работает на сервере ubuntu

Как получить почту PHP () Работает на Ubuntu 20.04, 18.04 и 16.04, Вот шаги Мне потребовалось заставить sendmail работать на моем сервере Ubuntu. отправленные через функцию PHP mail () должны быть отправлены успешно без особых задержек. В этой статье мы собираемся установить и настроить Postfix, чтобы наши приложения могли использовать функцию PHP mail ().Протестировано и работает на Ubuntu 20.04, 18.04 и 16.04.

Включить функцию PHP mail () в Ubuntu, 4) Перезапустить apache. Давайте перезапустим ваш сервер на всякий случай. На этом этапе электронные письма, отправленные через функцию PHP mail (), должны отправляться успешно и без получения функции PHP mail () (sendmail) для работы в Ubuntu 14.04 Хорошо, позвольте мне начать с того, что я знаю, что есть лучше и профессиональнее решения для отправки электронной почты на веб-серверах. Но иногда вы просто хотите использовать функцию PHP mail (), чтобы сделать это быстро и просто.

Получение функции PHP mail () (sendmail) для работы в Ubuntu 14.04, Примечание. В образе Digital Ocean Ubuntu 14.04 LAMP. Если это письмо будет доставлено, мы знаем, что это не проблема системы, а проблема с тем, как Tested Fixture for AWS Ubuntu 18.04. Шаг 1. На сервере AWS создайте Ubuntu 18.04, подключитесь через шпатлевку, найдите файл apache2.conf. Шаг 2 — Откройте apache2.conf в каталоге [$ sudo vi apache2.conf], нажмите I для редактирования файла, все, что вам нужно сделать, это добавить в конец файла следующее:

Почта Php не работает на localhost

Как отлаживать и исправлять почту PHP в Localhost, Ясное решение о том, как исправить почтовую функцию PHP, не отправляющую почту.Вам необходимо настроить почтовый сервер на вашем компьютере, чтобы функция почты работала. Если вы работаете в Windows (я предполагаю, что вы используете WAMP), вы можете настроить почтовый сервер Pegasus. Другие варианты включают использование класса-оболочки, такого как SwiftMailer или PHPMailer, и их использование для подключения к другому SMTP-серверу, например к вашей учетной записи GMail.

почтовая функция не работает на сервере localhost, закомментируйте эти строки, как это, в файле php.ini и перезапустите сервер Apache./ * [Почтовая функция]; XAMPP: закомментируйте это, если хотите работать. Я внес изменения в PHP.ini SMTP = ssl: //smtp.gmail.com smtp_port = 465, но после этого также не работала почтовая функция. Я просто хотел, чтобы какое-то электронное письмо было отправлено с моего тестового сервера localhost, и я не хочу устанавливать XAMP или любой другой почтовый сервер на моем локальном хосте. Я был в порядке с использованием учетной записи GMAIL.

Как отправить электронную почту с локального хоста с помощью PHP, Я использовал GMAIL SMTP для отправки почты с локального хоста с помощью php.from localhost в php с использованием wamp / xampp », иногда нам нужно проверить отправку почты. Иногда порт 25 не открывается, поэтому вам нужно изменить 587 ИЛИ 465. Перед загрузкой на рабочий сервер необходимо проверить функциональность электронной почты на локальном сервере. Но функция PHP mail () не будет работать на локальном хосте. В этой статье мы покажем, как отправлять электронную почту с localhost в PHP. Используя этот простой PHP-скрипт, вы можете отправлять электронную почту с любого локального сервера, например XAMPP, WAMP или любого другого.

Почта PHP не отправляет ошибку

Функция почты PHP не завершает отправку электронной почты (25 ответов) Закрыт 2 года назад.Итак, у меня есть скрипт, который отправляет электронную почту, он работает на одном домене на моем VPS, но не работает на другом, что очень сбивает с толку!

Откройте свой почтовый клиент, чтобы узнать, было ли сообщение доставлено на указанный адрес электронной почты. (также проверьте папку со спамом!) Если сообщение доставлено: все в порядке — почта php работает. Если сообщение не было доставлено: некоторые провайдеры не допускают внешних получателей при использовании почты php.

Отправка электронной почты в формате HTML. Когда вы отправляете текстовое сообщение с помощью PHP, все содержимое будет рассматриваться как простой текст.Даже если вы включите HTML-теги в текстовое сообщение, оно будет отображаться как простой текст, а HTML-теги не будут отформатированы в соответствии с синтаксисом HTML. Но PHP предоставляет возможность отправлять HTML-сообщение как фактическое HTML-сообщение.

Не удается отправить почту. Для отправки почты необходим php-сервер.

. Если вы хотите отправлять электронные письма напрямую с локального хоста, вам необходимо установить агент транспорта почты (MTA) или, если хотите, службу SMTP. IIS предоставляет один. В противном случае вы можете найти другие в Google.Вы также можете изменить настройки почты в php.ini.

Когда вы используете почтовую функцию PHP, вы отправляете электронную почту прямо со своего веб-сервера. Это может вызвать проблемы, если адрес ОТ не установлен должным образом или ваша электронная почта не размещена на DreamHost. Рекомендуется отправлять почту через SMTP, поскольку электронная почта отправляется с почтового сервера, а не с веб-сервера.

При использовании функции PHP mail () с IIS 6 в Windows Server 2003 проверьте настройки «Ретрансляции» на виртуальном сервере SMTP в IIS.Если вы предоставите доступ к 127.0.0.1, а затем установите SMTP в php.ini на тот же IP-адрес (вместе с настройкой того же порта 25), вы должны успешно отправить почту.

Php-почта не отправляется на Gmail

Чтобы проверить и убедиться, что это проблема с сервером, я создал простой PHP-файл, который будет отправлять электронное письмо на мой адрес электронной почты при обновлении страницы. Это сработало, когда я отправил на свой адрес электронной почты, основанный на обмене, но не на какие-либо учетные записи, связанные с Google.

Общий совет здесь — не использовать эту функцию для отправки почты из PHP, вместо этого используйте что-то вроде PHPMailer или SwiftMailer, или, может быть, сейчас есть другие.1 Like igor_g

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

Другие статьи

Функция PHP mail () не работает

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

У меня запущен apache, и мой веб-сайт работает нормально. Я также могу просматривать страницы php, поэтому я знаю, что php тоже работает. Моя проблема заключается в использовании функции php mail ().

У меня на сайте есть простая форма, атрибут действия которой установлен на results.php. В результатах.php. У меня есть функция mail () (вместе с html-кодом, отображающим «спасибо … бла-бла-бла»), отправляющая информацию из формы на мой адрес электронной почты. Я никогда не получаю сообщение об ошибке на стороне php, но моя почта никогда не отправляется.

Есть ли какие-то настройки в файле конфигурации, которые нужно включить или изменить?

Вот то, что я сделал / изменил на основании моих исследований из онлайн-статей. Я не знаю, что означают некоторые из них, но правильно выполнил шаги:

Отредактировал файл / etc / hostconfig и добавил строку MAILSERVER = -YES-
Отредактировал файл / etc / postfix / main.cf и раскомментировал строку #myhostname = … и сделал ее «myhostname = localhost» (без кавычек).
Отредактировал файл php.ini следующим образом — Строка под тем местом, где написано
; Только для unix. Вы также можете указать аргументы (по умолчанию: «sendmail -t -i»)
Sendmail_path = usr / sbin / sendmail -t -i

Я открыл файл mail.log и вот несколько недавних записей:

Код:
9 июля, 08:16:50 new-host postfix / master [689]: демон запущен — версия 2.4.3, конфигурация / etc / postfix
9 июля 08:16:50 new-host postfix / qmgr [691]: ​​4B4DC2E8331: from = <_ [email protected]>, size = 323, nrcpt = 1 (очередь активна)
9 июля 08:16:50 new-host postfix / qmgr [691]: ​​7A8242EE3C0: from = <_ [email protected]>, size = 280, nrcpt = 1 (очередь активна)
9 июля 08:16:50 new-host postfix / qmgr [691]: ​​B1C052EE3C4: from = <_ [email protected]>, size = 280, nrcpt = 1 (очередь активна)
9 июля, 08:16:50 new-host postfix / qmgr [691]: ​​C281C2EE3C5: from = <_ www @ localhost.alotusbirth.com>, size = 327, nrcpt = 1 (очередь активна)
9 июля 08:16:50 new-host postfix / smtp [694]: 4B4DC2E8331: to = , relay = relay.verizon.net [206.46.232.11]: 25, delay = 213262, задержки = 213261 / 0.05 / 0.86 / 0, dsn = 4.0.0, status = deferred (хост relay.verizon.net [206.46.232.11] отказался разговаривать со мной: 571 Электронная почта от 74.102.108.224 в настоящее время заблокирована анти- система спама. Отправитель электронной почты или поставщик услуг электронной почты могут посетить http://www.verizon.net/whitelist и запросите удаление блока.100709)
9 июля, 08:16:51 постфикс / перехват нового хоста [690]: 0F5D22EE4DB: uid = 70 from = <_www>
9 июля, 08:16:51 постфикс / очистка нового хоста [692]: 0F5D22EE4DB: message-id = <20100709121651.0F5D22EE4DB@localhost>
9 июля 08:16:51 new-host postfix / qmgr [691]: ​​0F5D22EE4DB: from = <_ [email protected]>, size = 333, nrcpt = 1 (очередь активна)
9 июля 08:16:51 new-host postfix / smtp [695]: 7A8242EE3C0: to = , relay = relay.verizon.net [206.46.232.11]: 25, delay = 27074, задержки = 27073/0.02 / 1.1 / 0, dsn = 4.0.0, status = deferred (хост relay.verizon.net [206.46.232.11] отказался разговаривать со мной: 571 Электронная почта от 74.102.108.224 в настоящее время заблокирована системой защиты от спама Verizon Online. Отправитель электронной почты или поставщик услуг электронной почты могут посетить http://www.verizon.net/whitelist и запросите удаление блока. 100709)
9 июля 08:16:51 new-host postfix / smtp [697]: C281C2EE3C5: to = , relay = relay.verizon.net [206.46.232.11]: 25, delay = 26817, задержки = 26816 / 0,02 / 1,1 / 0, dsn = 4.0.0, статус = отложено (хост relay.verizon.net [206.46.232.11] отказался разговаривать со мной: 571 Электронная почта от 74.102.108.224 в настоящее время заблокирована системой защиты от спама Verizon Online. Отправитель электронной почты или поставщик услуг электронной почты могут посетить http://www.verizon.net/whitelist и запросите удаление блока. 100709)
9 июля 08:16:51 new-host postfix / smtp [696]: B1C052EE3C4: to = , relay = relay.verizon.net [206.46.232.11]: 25, delay = 27174, задержки = 27173 / 0.01 / 1.1 / 0, dsn = 4.0.0, статус = отложено (host relay.verizon.net [206.46.232.11] отказался разговаривать со мной: 571 Электронная почта от 74.102.108.224 в настоящее время заблокирована системой защиты от спама Verizon Online. Отправитель электронной почты или поставщик услуг электронной почты могут посетить http://www.verizon.net/whitelist и запросите удаление блока. 100709)
9 июля, 08:17:23 new-host postfix / smtp [694]: подключение к mx1.comcast.net [76.96.62.116]: время операции истекло (порт 25)
9 июля, 08:17:50 new-host postfix / master [689]: пришло время выхода мастера

Есть другие предложения, как заставить это работать? Я также создал простой файл php, который отправляет почту без получения информации из формы, а также попытался использовать несколько разных адресов электронной почты для отправки и от, но все равно ничего

Как исправить проблему WordPress, не отправляющую электронные письма в 2021 году

Распространенной проблемой среди владельцев веб-сайтов является то, что WordPress не отправляет электронные письма правильно или вообще.

Большинство управляемых хостинг-провайдеров WordPress, включая Kinsta, не предоставляют хостинг электронной почты. Однако это не означает, что вы не можете отправлять электронные письма из установленного WordPress. В Kinsta все сайты оснащены поддержкой транзакционной электронной почты, что означает, что ваш сайт WordPress сможет отправлять уведомления, подтверждения заказов WooCommerce и другие типы электронных писем, связанных с сайтом.

Обычно, когда вы пытаетесь исправить проблему, когда WordPress не отправляет электронные письма, это не проблема на сервере, а скорее электронная почта настроена неправильно при установке WordPress или существует несовместимость.

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

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

Предпочитаете посмотреть видео версию?

Почему WordPress не отправляет электронную почту

Есть несколько причин, по которым у вас могут быть проблемы с тем, что WordPress не отправляет электронные письма.К ним относятся:

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

1. Электронные письма отправляются, но попадают в спам

Перед запуском любых других тестов убедитесь, что электронные письма от WordPress не попадают в спам.

Если пользователь сообщает вам, что WordPress не отправляет электронные письма, возможно, его электронные письма просто отправляются в спам.

Попросите их проверить папку со спамом на наличие писем от системы. Некоторые почтовые клиенты могут идентифицировать электронные письма от WordPress как спам, потому что они автоматизированы.

2. Ваш сервер неправильно настроен

Распространенной причиной того, что WordPress не отправляет электронные письма, является то, что ваш сервер не настроен для их отправки.

Веб-серверы

не предназначены для отправки электронных писем, и, возможно, ваш сервер не настроен для использования функции PHP mail () .

Хорошая новость в том, что вы можете легко проверить, не в этом ли причина проблемы, и исправить ее.

Как проверить, отправляет ли сервер электронную почту

Первое, что вы можете сделать, это запустить тест на своем сайте WordPress с помощью бесплатного плагина Check Email.

Это базовый плагин, предназначенный для проверки того, может ли ваша установка WordPress и / или сервер отправлять электронные письма.

После установки перейдите в Инструменты > Проверить адрес электронной почты на панели инструментов WordPress. Введите адрес электронной почты, на который нужно отправить тест, и нажмите Отправить тестовое письмо .

Отправить тестовое электронное письмо

Вы увидите подтверждение.

Тестовое электронное письмо с подтверждением

Проверьте свой почтовый клиент, чтобы узнать, получили ли вы тестовое письмо. В строке темы будет указано «Тестовое письмо с https: // yourdomain.com. »

Получено тестовое письмо

Также не забудьте проверить папку со спамом или нежелательной почтой. Если вы получили электронное письмо, это означает, что WordPress может нормально отправлять электронные письма на ваш веб-сервер.

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

Если вы являетесь клиентом Kinsta и используете HHVM, вы можете временно переключиться на PHP 7, чтобы проверить, есть ли проблема совместимости. Вы можете легко переключиться на PHP 7 в личном кабинете MyKinsta. После тестирования вы можете снова переключиться на HHVM.

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

Kinsta использует Google Cloud Platform, которая по умолчанию блокирует исходящие соединения на порту 25. Согласно Google, «этот исходящий порт SMTP заблокирован из-за большого количества злоупотреблений, которым этот порт подвержен». В этом случае попробуйте альтернативный порт, например 2525. Порты 587 и 465 открыты в Kinsta.

3. Ваш плагин контактной формы отправляет ложные сообщения электронной почты

Если вы выполнили описанный выше тест и ваш сервер настроен для отправки электронных писем, это означает, что есть проблема с плагином, который отправляет электронные письма с вашего сайта WordPress.

Скорее всего это будет плагин контактной формы.

Плагины

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

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

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

Вы также можете столкнуться с проблемами, если электронные письма отправляются с одного и того же адреса электронной почты. Поэтому, если ваш плагин форм отправляет электронные письма с вашего адреса электронной почты администратора (который будет по умолчанию), и вы также настроили его для отправки на этот адрес, некоторым поставщикам электронной почты это может не понравиться. Это менее вероятно, чем проблема с «поддельными» электронными письмами.

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

Затронутые плагины контактной формы

Эта проблема может затронуть любой плагин контактной формы. Вот некоторые плагины, с которыми у вас может возникнуть эта проблема:

  • Контактная форма 7
  • Гравитационные формы
  • Формы ниндзя
  • Счастливая форма
  • weForms
  • Контактная форма Jetpack
  • Грозные формы

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

WordPress не отправляет ваши электронные письма? 😱 Узнайте, почему это происходит и как это исправить, прямо здесь ⬇Нажмите, чтобы твитнуть

Как предотвратить попадание спама в электронные письма WordPress

1. Добавьте адрес электронной почты в белый список

Если электронная почта попадает в спам, вы можете попросить своих пользователей занести ваши электронные письма в белый список, добавив свой адрес электронной почты в свои контакты.

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

2. Используйте более безопасный адрес электронной почты

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

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

3. Настройте аутентификацию электронной почты

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

Следуйте нашему руководству по аутентификации электронной почты, чтобы убедиться, что она работает правильно.

Как настроить SMTP в WordPress для отправки электронной почты

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

Подпишитесь на информационный бюллетень

Хотите узнать, как мы увеличили трафик более чем на 1000%?

Присоединяйтесь к 20 000+ других, которые получают нашу еженедельную рассылку с инсайдерскими советами по WordPress!

Подпишитесь сейчас

SMTP расшифровывается как Simple Mail Transfer Protocol. Он перемещает электронную почту в сети и между ними. Так что, если ваш сервер не настроен для отправки электронных писем, это сделает это возможным.

Есть несколько поставщиков SMTP на выбор, в том числе бесплатные (например, SMTP-сервер Gmail): так что это не должно стоить вам денег, только немного времени.

Чтобы настроить это, следуйте нашему руководству по использованию бесплатного SMTP-сервера с WordPress.

Как настроить плагин форм для правильной отправки электронной почты

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

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

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

Исправить контактную форму 7, не отправляющую электронные письма

Contact Form 7 — один из старейших и самых популярных бесплатных плагинов для форм WordPress.

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

В админке WordPress перейдите в Контакт> Контактные формы .

Контактные формы

Выберите созданную вами форму и откройте вкладку Mail .

Вкладка электронной почты в контактных формах

Убедитесь, что в поле From указан адрес электронной почты администратора вашего сайта, а не адрес электронной почты, введенный в форму. Вы можете использовать это в поле «Ответить на », но не в поле « From ».

Избегайте использования одних и тех же адресов электронной почты для полей От и До . Используйте адрес электронной почты, отличный от того, который вы используете для своего сайта.

Сохраните изменения.

Теперь протестируйте вещи, заполнив форму самостоятельно.

Исправить гравитационные формы, не отправляющие электронные письма

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

Документация гравитационных форм

Проработайте варианты в документации по порядку, пока все не заработает снова.

Исправить формы ниндзя, не отправляющие электронные письма

Ninja Forms имеет как бесплатную, так и премиальную версии.Также существует множество дополнительных плагинов, которые вы можете бесплатно скачать из репозитория WordPress.

Если у вас возникли проблемы, связанные с электронной почтой с помощью Ninja Forms, рекомендуемое решение — использовать плагин SendWP, разработанный той же командой.

ОтправитьWP

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

Итак, если вы не хотите платить 9 долларов в месяц за SendWP, попробуйте следовать руководству по устранению неполадок по электронной почте в их документации.

Исправить HappyForms, не отправляющие электронные письма

HappyForms — еще один плагин с бесплатной и премиальной версией.

Happyforms

У

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

Чтобы изменить адрес электронной почты, с которого отправляются Happy Forms, вы можете изменить настройки электронной почты для отдельной формы, аналогично Contact Form 7.

Перейдите в HappyForms> Все формы и выберите форму, которую хотите отредактировать.Это откроет интерфейс, похожий на настройщик.

Откройте вкладку Электронная почта .

Вкладка электронной почты Happyforms

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

После внесения изменений нажмите кнопку Обновить вверху и протестируйте форму.

Исправить weForms, не отправляющие электронные письма

weForms — еще один плагин форм с бесплатной и премиальной версиями.Он позволяет настроить плагин для использования электронной почты с выбранными поставщиками электронной почты, включая сам WordPress, SendGrid или другие.

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

Исправить контактную форму Jetpack, не отправляющую электронные письма

Если вы используете плагин Jetpack, возможно, вы используете базовую контактную форму, которая прилагается к нему. Вы делаете это, добавляя блок формы на страницу или сообщение в WordPress.

Jetpack не имеет такого количества параметров настройки, как специальные плагины для форм, но вы можете изменить адрес, на который отправляются электронные письма.

Поскольку Jetpack не использует поле из формы в поле To или From сообщения электронной почты, у вас меньше шансов иметь проблемы, связанные с электронной почтой. Если вы столкнетесь с проблемами, это произойдет из-за того, что вы отправляете электронные письма на один и тот же адрес и с него.

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

Контактная форма Jetpack

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

Исправить грозные формы, не отправляющие электронные письма

Formidable Forms — еще один плагин форм с бесплатной и премиальной версией. Если у вас возникают проблемы с отправкой электронных писем из контактных форм в Formidable Forms, официальная документация рекомендует добавить SMTP на ваш сайт.

Но что, если вы уже сделали это, но все еще не работает? Что ж, опять же, это вероятно потому, что ваши электронные письма помечаются как «поддельные», потому что они отправляются с адреса, который не является настоящим адресом отправителя.

В админке WordPress перейдите в Formidable> Forms и выберите форму, которую хотите отредактировать. Щелкните вкладку Настройки вверху, а затем вкладку Действия и уведомления сбоку. Отсюда откройте мета-поле Уведомление по электронной почте .

Настройки уведомлений по электронной почте для сложных форм

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

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

Экран настроек будет сохранять изменения по мере их внесения, поэтому убедитесь, что вы проверили правильность введенных вами данных.

Если ваши электронные письма не отправляются через WordPress, эти распространенные проблемы могут быть причиной проблемы … 👀Нажмите, чтобы написать в Твиттере

Сводка

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

Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *