— Как проверить адрес электронной почты в PHP
Существуют три RFC, которые закладывают основу для «формата интернет-сообщений».
- RFC 822
- RFC 2822 (заменяет RFC 822)
- RFC 5322 (заменяет RFC 2822)
RFC 5322, однако, определяет идентификаторы электронной почты и структуру их имен наиболее техническим образом. Это более уместно, если заложить основу интернет-стандарта, достаточно либерального, чтобы разрешить все варианты использования, но достаточно консервативного, чтобы связать его в некотором формализме.
Однако требование проверки электронной почты от сообщества разработчиков программного обеспечения имеет следующие потребности —
- для предотвращения нежелательных спамеров
- , чтобы гарантировать, что пользователь не сделает непреднамеренную ошибку
- , чтобы убедиться, что идентификатор электронной почты принадлежит тому, кто его вводил.
Они не совсем заинтересованы во внедрении технически всеобъемлющего определения, допускающего все формы (IP-адреса, включая идентификаторы портов и все) идентификатора электронной почты.
Таким образом, с практической точки зрения фактические требования сводятся к следующему: —
- Чтобы обеспечить некоторые очень простые проверки достоверности
- Чтобы убедиться, что введенный адрес электронной почты используется
Второе требование обычно включает отправку стандартного ответа с запросом электронной почты на введенный идентификатор электронной почты и аутентификацию пользователя на основе действия, описанного в механизме ответа. Это наиболее широко используемый механизм для обеспечения второго требования проверки «используемого» идентификатора электронной почты. Это включает в себя круговой обмен от реализации внутреннего сервера и не является прямой реализацией одного экрана, однако от этого нельзя отказаться.
Первое требование связано с тем, что разработчики не хотят, чтобы строки, полностью «не похожие на электронную почту», передавались как электронная почта. Обычно это пробелы, строки без знака «@» или без имени домена. Учитывая представление доменных имен в punycode, если нужно включить проверку домена, им необходимо задействовать полноценную реализацию, которая гарантирует действительное доменное имя. Таким образом, учитывая основной характер требования в этом отношении, проверка на «<что-то>
может следовать следующей методологии проверки. <локальная часть электронной почты>@<имя домена>
Для <локальной части электронной почты> — следуйте рекомендациям «Руководящей группы по универсальному принятию» — UASG-026 Для <имя домена>
вы можете следовать любой методологии проверки домена, используя стандартные библиотеки, в зависимости от вашего языка программирования. Последние исследования по этому вопросу см. в документе UASG-018A.Те, кому интересно узнать об общем процессе, проблемах и проблемах, с которыми можно столкнуться при внедрении интернационализированного решения электронной почты, могут также ознакомиться со следующими документами RFC:
RFC 6530 (Обзор и структура интернационализированной электронной почты) RFC 6531 (расширение SMTP для интернационализированной электронной почты) RFC 6532 (интернационализированные заголовки электронной почты) RFC 6533 (международные уведомления о статусе доставки и размещении) RFC 6855 (Поддержка IMAP для UTF-8) RFC 6856 (поддержка почтового протокола версии 3 (POP3) для UTF-8) RFC 6857 (понижение статуса сообщения после доставки для интернационализированных сообщений электронной почты) RFC 6858 (упрощенный переход на более раннюю версию POP и IMAP для интернационализированной электронной почты).
Настройте функцию PHP mail() на сервере Ubuntu | Stefan Ledin
Настройка функции PHP mail() на сервере Ubuntu | Стефан Ледин | Medium 1 мин чтения·
3 января 2019 г. У меня есть сервер DigitalOcean под управлением Ubuntu 18 с Apache и PHP 7.2. Я хотел иметь возможность отправлять электронные письма с него, используя функцию PHP mail()
и плагины WordPress, такие как GravityForms и тому подобное.
После долгих поисков я наткнулся на превосходное и очень простое руководство ниже. Всего три шага, чтобы заставить его работать:
-
sudo apt-get install sendmail
-
sudo sendmailconfig
(ответ Да на все) -
sudo service apache2 перезапуск
Включить PHP mail() работать в Ubuntu. Вот шаги, которые я предпринял, чтобы заставить sendmail работать на моем сервере Ubuntu.
researchhubs. com
Ubuntu
Digitalocean
WordPress
Автор Стефан Ледин
259 подписчиков
Веб-разработчик, создающий быстрые сайты на WordPress с чистым кодом и отличными бэкендами. Кроме того, JavaScript хорош!
Еще от Stefan Ledin
Stefan Ledin
Как увеличить memory_limit PHP 7.2 в Mac OS
Я только что выполнил простую команду composer require […] в проекте Laravel на моем локальная машина .
Чтение через 2 мин·15 августа 2019 г.
Стефан Ледин
Увеличить размер загружаемого файла в WordPress на сервере Nginx
На днях я получил (очень полезную 🙄) ошибку HTTP при попытке загрузить файл размером 80 МБ в WordPress. Несмотря на то, что я увеличил…
1 мин чтения · 28 июля 2017 г.
Стефан Ледин
Vue.js: загрузить данные с помощью AJAX перед визуализацией компонента
Представьте компонент Vue который отображает список сообщений на основе категории.
Они извлекаются из чего-то вроде WordPress Rest API.1 мин чтения · 6 февраля 2019 г.
Стефан Ледин
Как устранить ошибку «Приложение типа MIME / JSON не является исполняемым»
Я внезапно получил это сообщение об ошибке из старого приложения другое день .
Чтение: 1 мин·28 мая 2018 г. Использование приложения Laravel на 100 % с помощью Docker в Windows
В этой статье я хочу показать, как использовать Docker для настройки среды на вашем ПК с Windows. Это все, что вам нужно. Вам ничего не понадобится…
·7 минут чтения·5 мартаНил Ленон
CakePHP против Laravel:
PHP часто используется для создания динамических веб-страниц и красивых приложений. Фреймворки PHP позволяют создавать веб-сайты с…
·6 мин чтения·16 январяСписки
Теперь в ИИ: отобрано Better Programming
252 истории·34 сохранения
inVerita
in