php

Використання функції mail () у PHP на Ubuntu

Використання функції mail () у PHP на Ubuntu

Функція mail () - це вбудована функція PHP, яка використовується для надсилання електронної пошти з localhost. Але деякі конфігурації потрібні для надсилання електронної пошти за допомогою цієї функції. Для налаштування конфігурації вам знадобиться справжня інформація про поштовий сервер. Ви можете використовувати інформацію про поштовий сервер свого активного хостинг-сервера, а також будь-яку безкоштовну інформацію про поштовий сервер. Обліковий запис Gmail та інформація про SMTP-сервер Gmail використовуються в цьому посібнику для надсилання електронних листів за допомогою функції mail ().

Налаштування конфігурації

Для налаштування конфігурації потрібно буде змінити два файли: php.ini файл, а для налаштування поштового сервера потрібен інший файл. Для налаштування конфігурації виконайте наведені нижче дії. У PHP доступно багато пакетів для надсилання електронного листа. msmtp - це клієнт поштового сервера PHP, який використовується в цьому посібнику для надсилання електронної пошти за допомогою функції PHP mail ().

Кроки:

Виконайте наступну команду, щоб встановити msmtp пакет на Ubuntu для налаштування поштового сервера:

$ sudo apt-get install msmtp

Створіть файл конфігурації з іменем / etc / msmtprc за допомогою такої команди:

$ sudo nano / etc / msmtprc

Додайте до файлу наступний вміст. Додайте дійсну електронну адресу для користувач і дійсний пароль для пароль який буде використовуватися для надсилання електронного листа. Встановіть адресу електронної пошти відправника для форму значення.

за замовчуванням
tls увімкнено
tls_starttls увімкнено
tls_trust_file / etc / ssl / certs / ca-сертифікати.crt
за замовчуванням
SMTP хоста.gmail.ком
порт 587
авт
ім'я користувача @ gmail.ком
пароль user_password -
з адреси_відправника_відправника

Виконайте наступні команди, щоб встановити право власності та дозвіл на / etc / msmtprc:

$ sudo chown fahmida / etc / msmtprc
$ sudo chmod 0600 / etc / msmtprc

Відкрийте php.ini файл та змініть наступний вміст із такими значеннями:

SMTP = smtp.gmail.ком
smtp_port = 587
sendmail_path = "/ usr / bin / msmtp -t -i"

Синтаксис:

поштова скринька (рядок $ до, рядок $ тема, рядок $ повідомлення [, змішані $ додаткові_заголовки [, рядок $ додаткові_параметри]])

Ця функція може приймати чотири аргументи. Перший аргумент бере електронну адресу одержувача. Другий аргумент стосується теми електронного листа. Третій аргумент приймає тіло електронної пошти. Останній аргумент необов’язковий, і він містить додаткову інформацію про електронне повідомлення у вигляді рядка чи масиву.

Надсилання електронної пошти за допомогою функції mail ()

Різні приклади надсилання електронного листа за допомогою функції mail () PHP показані в цьому розділі підручника.

Приклад 1: Надішліть простий текстовий електронний лист

Цей приклад показує, як простий текстовий електронний лист можна надіслати за допомогою функції mail (). Створіть PHP-файл за допомогою наступного сценарію.

Ви повинні встановити дійсну електронну адресу для $ до змінна, щоб отримати результат наступного сценарію. Простий текст встановлюється як тіло повідомлення.

// Встановіть адресу електронної пошти одержувача
$ to = "[електронна пошта захищена]";
// Встановіть тему електронного листа
$ subject = "Це тестовий електронний лист";
// Встановити тіло електронної пошти
$ message = "Це тестування тіла електронної пошти";
// Встановіть інформацію заголовка
$ headers = "Від: [електронна пошта захищена] \ r \ n";
$ заголовки .= "Відповісти: [захищено електронною поштою] \ r \ n";
// Надіслати електронний лист за допомогою функції повідомлення mail ()
if (пошта ($ до, $ тема, $ повідомлення, $ заголовки))

echo "Електронний лист успішно відправлений.\ r \ n ";

ще
echo "Електронного листа не надіслано.
";

?>

Наступний результат з’явиться після запуску сценарію з веб-сервера, якщо функція mail () працює належним чином.


Наступний результат з’явиться, якщо ви перевірите поштову скриньку адреси електронної пошти, яку було встановлено як адресу електронної пошти отримувача.

Приклад 2: Надішліть електронний лист у форматі HTML

Цей приклад показує, як електронний лист у форматі HTML можна надсилати за допомогою функції mail (). Створіть PHP-файл за допомогою наступного сценарію.

$ повідомлення змінна ініціалізується вмістом HTML, який буде надіслано як тіло електронної пошти. Про це згадується в $ заголовок змінна, що вмістом електронного листа є HTML.

// Встановіть адресу електронної пошти одержувача
$ to = "[електронна пошта захищена]";
// Встановіть тему електронного листа
$ subject = 'Реєстрація успішна';
// Встановити тіло електронної пошти
$ message = '

Ваша реєстрація успішно завершена.


ім'я користувача = fahmida20

пароль = aswQ34ghqw


';
// Встановити повернення каретки
$ nl = "\ r \ n";
// Встановлення заголовка Content-type
$ headers = 'MIME-версія: 1.0 '.$ nl;
$ заголовки .= 'Тип вмісту: text / html; charset = iso-8859-1 '.$ nl;
// Встановіть додаткову інформацію про заголовки
$ заголовки .= 'Кому: Мехраб Хоссейн'.$ nl;
$ заголовки .= 'Від: Адміністратор'.$ nl;
$ заголовки .= 'Копія: [електронна пошта захищена]'.$ nl;
// Надіслати електронний лист за допомогою функції повідомлення mail ()
if (пошта ($ до, $ тема, $ повідомлення, $ заголовки))
echo "Електронний лист успішно відправлений.\ r \ n ";

ще
echo "Електронного листа не надіслано. \ r \ n ";

?>

Наступний результат з’явиться після запуску сценарію з веб-сервера, якщо функція mail () працює належним чином.


Наступний результат з’явиться, якщо ви перевірите поштову скриньку адреси електронної пошти, яку було встановлено як адресу електронної пошти отримувача.

Приклад 3: Надішліть електронний лист із вкладенням

Цей приклад показує, як можна надіслати електронне повідомлення, прикріпивши текстовий файл. Створіть текстовий файл за допомогою наступного сценарію.

Зміст текстового файлу читається та кодується перед вкладенням, а функція md5 () використовується в сценарії для створення випадкового числа для змішаного вмісту. Вся необхідна інформація додана в $ заголовки і $ повідомлення змінних перед відправкою електронного листа.

// Встановіть адресу електронної пошти одержувача
$ to = "[електронна пошта захищена]";
// Встановіть тему електронного листа
$ subject = "Вкладення файлу";
// Встановити повернення каретки
$ nl = "\ r \ n";
// Встановіть випадковий хеш, який буде використовуватися для змішаного вмісту
$ сепаратор = md5 (час ());
// Прочитати вміст вкладеного файлу
$ filename = 'myfile.txt ';
$ content = file_get_contents ($ filename);
$ content = chunk_split (base64_encode ($ content));
// Встановіть повідомлення електронної пошти з інформацією про вкладення
$ message = "-" . $ сепаратор . $ nl;
$ повідомлення .= "Тип вмісту: text / plain; charset =" iso-8859-1 "" . $ nl;
$ повідомлення .= "Передача вмісту-кодування: 8 біт" . $ nl;
$ повідомлення .= "До електронного листа додається текстовий файл." . $ nl;
$ повідомлення .= "-" . $ сепаратор . $ nl;
$ повідомлення .= "Тип вмісту: application / octet-stream; name =" " . $ filename . "" " . $ nl;
$ повідомлення .= "Передача вмісту-кодування: base64" . $ nl;
$ повідомлення .= "Розміщення вмісту: вкладення" . $ nl;
$ повідомлення .= $ вмісту . $ nl;
$ повідомлення .= "-" . $ сепаратор . "-";
// Встановлення заголовка Content-type
$ headers = 'MIME-версія: 1.0 '.$ nl;
$ заголовки .= "Від: [електронна пошта захищена]".$ nl;
$ заголовки .= "Відповісти: [захищено електронною поштою]".$ nl;
$ заголовки .= "Тип вмісту: багаточастинний / змішаний; межа =" " . $ сепаратор . "" " .$ nl;
// Надіслати електронний лист за допомогою функції повідомлення mail ()
if (пошта ($ до, $ тема, $ повідомлення, $ заголовки))
echo "Електронний лист надіслано з вкладенням успішно.\ r \ n ";

ще
echo "Електронного листа не надіслано. \ r \ n ";

?>

Наступний результат з’явиться після запуску сценарію з веб-сервера, якщо функція mail () працює належним чином.


Наступний результат з’явиться, якщо ви перевірите поштову скриньку адреси електронної пошти, яку було встановлено як адресу електронної пошти отримувача.

Висновок

У PHP існує багато способів надсилати електронні листи. Функція пошти PHP () не працює належним чином на Ubuntu після налаштування конфігурації. Цей підручник показує необхідні конфігурації та спосіб надсилання електронних листів за допомогою функції PHP mail ().

Як показати накладання екранного меню в повноекранному додатку та іграх для Linux
Гра у повноекранні ігри або використання додатків у повноекранному повноекранному режимі може відключити від відповідної системної інформації, видимої...
Топ 5 карт для захоплення ігор
Ми всі бачили і любили потокові ігри на YouTube. PewDiePie, Jakesepticye та Markiplier - лише деякі з найкращих геймерів, які заробили мільйони, заван...
Як розробити гру на Linux
Десять років тому не так багато користувачів Linux передбачали, що їх улюблена операційна система колись стане популярною ігровою платформою для комер...