Функція PHP mail: опис, особливості застосування

14 0 Новини високих технологій

Створення веб-сайту може стати початком великого проекту, а вибір правильної технології зворотного зв'язку з клієнтом - ключ до успіху. Розробники інтернет-ресурсів часто використовують функцію PHP Mail для відправки електронної пошти. Самий зручний спосіб зробити це, коли відвідувач сайту заповнює форму.

Історія технологій PHP

Функція PHP mail: опис, особливості застосування
Вони використовуються для розробки веб-додатків. Ці технології з'явилися випадково, як і багато хто інші великі відкриття. Расмус Лердорф шукав вирішення проблеми перевантаження на сервері, де він розміщував свою особисту сторінку і навчальну програму. Це призвело до створення PHP (Personal Home Page) в 1994. У 1995 році Rasmus випустив вихідний код і створив список розсилки для обміну ідей, поліпшення, виправлення. З тих пір мова ріс і розвивався як проект з відкритим вихідним кодом.


У 1996 році, всього через рік після опублікування, він вже використовувався на 15000 веб-сайтів. У 1998 році його присутність в Інтернеті склало майже 60000 доменів, це приблизно 1 % від загального числа існуючих проектів і блогів. В даний час PHP використовують приблизно 24 % всіх наявні веб-проектів світу.
Функція PHP mail: опис, особливості застосування
Така популярність моделі викликана не тільки якістю, але і важливістю зворотного зв'язку. Серед сайтів, які сьогодні використовують цю технологію: WordPress, Twitter і Facebook. Тому еволюція PHP, відповідає препроцессору гіпертексту, безсумнівно, експоненціальна у всіх відносинах.

Проект з самоустанавливающимися пакетами

PHP - безкоштовний і відкритий мову з низькою кривий навчання, його синтаксис простий і відповідає базовим стандартам об'єктно-орієнтованого програмування. Складні середовища розробки не потрібні, так само як і час для освіти. Програмування ведуть без сторонньої допомоги, всі доступні IDE безкоштовні, а розробки швидкі і прості в налаштуванні.


Розгорнути проект в PHP легко, тому що він володіє пакетами самостійної інтеграції, які використовують: Apache і MySQL як для UNIX (LAMPP), так і для Windows (XAMPP). Обидва легко встановлюються і налаштовуються як настільне додаток. Користувач отримує локальний сервер з доступом до бази даних комп'ютера, готовий до розробки будь-якого проекту. Не витрачається час на проблеми з сумісністю. Крім того, він пропонує легкий доступ до баз даних і підтримує багато формати, а не тільки MySQL. Нижче наведено код для основної функції електронної пошти. Можна застосувати сценарій і використовувати форму на будь-якому веб-сайті, встановивши змінні для надсилання такого листа.
Функція PHP mail: опис, особливості застосування
Перша частина форми перевіряє, заповнене поле вводу адреси електронної пошти. Якщо це не так, відображається HTML-форму на сторінці. Якщо онлайн-лист підготовлено, після того як відвідувач заповнить форму, воно готове до надсилання. При натисканні кнопки «Надіслати» сторінка перезавантажується, PHP перевіряє, введений адресу електронної пошти, і відправляє документ.

Популярна поштова бібліотека

Існує безліч способів доставки листів. Зазвичай відправляють електронну пошту двома способами:
  • використовуючи вбудовану в PHP функцію Mail;
  • використовуючи сторонню бібліотеку, таку як PHPMailer з SMTP.
  • Перед початком використання програми знадобиться наступне:
  • Веб-хостинг.
  • Обліковий запис електронної пошти.
  • Включена функція PHP Mail.
  • Включена функція SMTP.
  • Домен запису Hostinger MX.
  • Mail в PHP дозволяє відправляти електронну пошту з допомогою локальної програми sendmail. Кожен раз, коли користувач запускає сервіс пошти, він викликає цю локальну програму, зазвичай персоналізовану системним адміністратором. Можна включити або відключити цю функцію в розділі "Електронна пошта" -> "панель керування поштовою службою".
    PHPMailer - популярна бібліотека, що підтримує відправку пошти через функцію PHP Mail або SMTP.
    Функція PHP mail: опис, особливості застосування
    Алгоритм роботи:
  • Щоб використовувати PHPMailer з Hostinger SMTP, спочатку необхідно створити ідентифікатор в розділі «Обліковий запис електронної пошти» на панелі веб-хостингу. У користувача буде чотири поля: ім'я користувача облікового запису електронної пошти, пароль, SMTP-хост, порт SMTP.
  • Після цього починають установку PHPMailer. Один з простих способів зробити це - використовувати Composer, який попередньо інтегрований в плани загального хостингу, тому підключаються через SSH і виконують наступну команду: cd public_html.
  • Далі запускають: composer requires phpmailer і чекають кілька хвилин, поки установка завершиться і PHPMailer з'явиться у створеному каталозі постачальників. Для доставки використовується SMTP. Ця рядок імпортує клас PHPMailer в глобальне простір імен і включає в себе різні бібліотеки.
  • Відправляють HTML-повідомлення. Його вміст буде взято з файлу message.html, розташованого в тому ж каталозі. Це дозволяє форматувати текст і дає більшу функціональність у порівнянні зі звичайними текстовими повідомленнями.
  • Запуск скрипта

    PHPMailer пропонує користувачеві додаткові функції, які можна спробувати в офіційному репозиторії GitHub. Також, якщо він використовує WordPress, то може легко створити контактну форму за допомогою плагінів.
    Функція PHP mail: опис, особливості застосування
    Використовують PHPMailer не тільки для відправлення повідомлень. Можна створити контактну форму, де відвідувачі або користувачі зв'язуються з сайтом. Нижче наведено кінцевий результат створення форми.
    Функція PHP mail: опис, особливості застосування
    Порядок запуску скрипта:
  • Створюють файл testphpmailer.php і заповнюють поля SMTP, які були отримані раніше.
  • Виконують скрипт, ввівши YourDomain.com/testphpmailer.php у браузері, з'явиться повідомлення.
  • Як тільки користувач його відправить, то отримає підтвердження, що вміст буде доставлено в скриньку електронної пошти, вказану в полі Address.
  • Якщо контактна форма PHPMailer не працює, для перевірки функції Mail PHP додають наступний рядок, щоб дізнатися причину проблеми: $ mail-> SMTPDebug = 2.
  • Усунення помилок

    Функція PHP mail: опис, особливості застосування
    PHPMailer - досить простий інструмент для освоєння. Але час від часу можуть виникати помилки, і тоді функція Mail PHP не працює. Поширені проблеми при відсиланні пошти:
  • Адреса відправника відхилено - помилка означає, що сервер не зміг перевірити справжність, використовуючи надані дані. Щоб виправити її, аналізують заголовки from і переконуються, що вони відповідають існуючому поштової скриньки. Після усунення скрипт почне виконуватися.
  • Gmail не може підтвердити, що example.com відправив повідомлення - попередження при тестуванні поштового PHP скрипта. Означає, що запис SPF не включена, адреса електронної пошти не існує або не належить користувачу.
  • Збої DNS часто розглядаються як тайм-аути з'єднання: Тимчасовий збій у вирішенні імені», «Не вдалося вирішити хост», «Збій getaddrinfo» або подібні помилки.
  • Перенаправлення портів. Це пов'язано з Google, і якщо користувач бачить щось на зразок імені провайдера, то існують помилки аутентифікації і перевірки сертифіката TLS.
  • Блокування SELinux - не дозволяє PHP або веб-сервера відправляти електронну пошту, що ймовірно на RedHat/Fedora/Centos.
  • Розбір JSON з PHP

    Функція PHP mail: опис, особливості застосування
    Підтримка JSON в PHP надзвичайно проста, тільки з однією загальною бібліотекою для обробки перетворення даних з масивів та об'єктів PHP. Вона швидко набирає популярність завдяки легкості читання, мобільності та можливості використання у веб-браузерах без додаткових баз. Якщо користувач насторожено ставиться до XML, JSON, для нього це найкращий напрямок роботи.

    З XML комфортніше працювати з користувацькими даними безпосередньо у використовуваному синтаксичному аналізаторі XML. З допомогою JSON можна негайно перетворити дані в об'єкт або масив PHP і працювати з ними, використовуючи знайомі структури PHP, потоку управління і функції. Перше, що потрібно зробити додатком - перевірити функцію Mail PHP, чи відповідає отриманий код помилки очікуванням. Для простого запиту GET відповідь має бути 200 якщо він був успішним. Щоб отримати код стану з допомогою Json decode, де $ return представляє контент, який повертається з запиту API, для $ code буде встановлено значення 200. Другий аргумент функції Mail PHP Json decode post повертає результат у вигляді асоціативного масиву, а не об'єкта.
    Ще кращий спосіб перевірити наявність помилки - зробити наступне: $json = json_decode($return, true); $code = $json['code']; $json = json_decode($return, true); $error = isset($json['error']); Дуже важливо, щоб код був налаштований для правильної обробки і обліку всіх помилок. Але навіть якщо запит сформовано правильно, все одно є ймовірність, що користувач отримає код помилки при його виконанні.

    Перевага поштового проекту

    Функція PHP mail: опис, особливості застосування
    Для програміста, який хоче вивчати PHP, мова програмування пропонує величезні переваги. У нього, мабуть, одне з найбільших інтернет-спільнот у порівнянні з іншими, і саме в рамках цієї підтримки вирішується практично будь-яка проблема. Для кожного користувача PHP важливі його можливості не тільки в нинішній мережі, але і в майбутньому. З точки зору фахівців, якщо ця технологія продовжить свій нинішній темп розвитку, адаптуючись до нових потреб і додаючи все більше функцій, у неї є майбутнє. Переваги PHP:
  • Мова повністю безкоштовний і відкритий.
  • Дуже низька крива навчання.
  • Середовища розробки швидко і легко настроюються.
  • Просте розгортання: повністю самоустановлювальні пакети з інтеграцією PHP.
  • Легкий доступ до баз даних.
  • Дуже велике співтовариство.
  • Технологія PHP цікава, вона необхідна для вирішення багатьох з найбільш затребуваних завдань, пов'язаних з відправкою електронної пошти та використанням вкладень.