php

Использование функции mail () в PHP на Ubuntu

Использование функции mail () в PHP на Ubuntu

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

Настройка конфигурации

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

Шаги:

Выполните следующую команду, чтобы установить мсмтп пакет в 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
от sender_email_address

Выполните следующие команды, чтобы установить владельца и разрешение для / etc / msmtprc файл:

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

Открой php.ini file и измените следующее содержимое со следующими значениями:

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

Синтаксис:

bool mail (строка $ to, строка $ subject, строка $ message [, смешанная $ additional_headers [, строка $ additional_parameters]])

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

Отправка электронной почты с помощью функции mail ()

В этом разделе руководства показаны различные примеры отправки электронной почты с помощью функции PHP mail ().

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

В этом примере показано, как можно отправить простое текстовое электронное письмо с помощью функции mail (). Создайте файл PHP со следующим скриптом.

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

// Устанавливаем адрес электронной почты получателя
$ to = "[электронная почта защищена]";
// Устанавливаем тему письма
$ subject = "Это тестовое письмо";
// Устанавливаем тело письма
$ message = "Тестирует тело письма";
// Устанавливаем информацию заголовка
$ headers = "От: [электронная почта защищена] \ r \ n";
$ заголовки .= "Ответить: [электронная почта защищена] \ r \ n";
// Отправляем электронное письмо с помощью функции сообщения mail ()
если (почта ($ кому, $ тема, $ сообщение, $ заголовки))

echo "Электронное письмо успешно отправлено.\ r \ n ";

еще
echo "Электронное письмо не отправлено.
";

?>

Следующий вывод появится после запуска скрипта с веб-сервера, если функция mail () работает правильно.


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

Пример 2. Отправьте электронное письмо в формате HTML

В этом примере показано, как отправить электронное письмо в формате HTML с помощью функции mail (). Создайте файл PHP со следующим скриптом.

$ сообщение переменная инициализируется содержимым HTML, которое будет отправлено в теле письма. Это упоминается в $ header переменная, что содержимое электронного письма - HTML.

// Устанавливаем адрес электронной почты получателя
$ to = "[электронная почта защищена]";
// Устанавливаем тему письма
$ subject = 'Регистрация прошла успешно';
// Устанавливаем тело письма
$ message = '

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


имя пользователя = fahmida20

пароль = aswQ34ghqw


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

еще
echo "Электронное письмо не отправлено. \ r \ n ";

?>

Следующий вывод появится после запуска скрипта с веб-сервера, если функция mail () работает правильно.


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

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

В этом примере показано, как можно отправить электронное письмо, вложив текстовый файл. Создайте текстовый файл со следующим скриптом.

Содержимое текстового файла считывается и кодируется перед прикреплением, а функция md5 () используется в сценарии для генерации случайного числа для смешанного содержимого. Вся необходимая информация добавлена ​​в заголовки $ а также $ сообщение переменные перед отправкой электронного письма.

// Устанавливаем адрес электронной почты получателя
$ to = "[электронная почта защищена]";
// Устанавливаем тему письма
$ subject = "Вложение файла";
// Установить возврат каретки
$ nl = "\ г \ п";
// Устанавливаем случайный хеш, который будет использоваться для смешанного контента
$ separator = md5 (время ());
// Читаем содержимое прикрепленного файла
$ filename = 'мой файл.текст';
$ content = file_get_contents ($ filename);
$ content = chunk_split (base64_encode ($ content));
// Устанавливаем сообщение электронной почты с информацией о вложении
$ message = "-" . разделитель $ . $ nl;
$ сообщение .= "Content-Type: text / plain; charset =" iso-8859-1 "" . $ nl;
$ сообщение .= "Кодировка передачи содержимого: 8 бит" . $ nl;
$ сообщение .= "К письму прикреплен текстовый файл." . $ nl;
$ сообщение .знак равно . разделитель $ . $ nl;
$ сообщение .= "Content-Type: application / octet-stream; name =" " . $ filename . "" " . $ nl;
$ сообщение .= "Кодировка передачи содержимого: base64" . $ nl;
$ сообщение .= "Content-Disposition: вложение" . $ nl;
$ сообщение .= $ content . $ nl;
$ сообщение .знак равно . разделитель $ . «-»;
// Устанавливаем заголовок Content-type
$ headers = 'Версия MIME: 1.0 '.$ nl;
заголовки $ .= "От: [адрес электронной почты защищен]".$ nl;
заголовки $ .= "Ответить: [адрес электронной почты защищен]".$ nl;
заголовки $ .= "Content-Type: multipart / mixed; Border =" " . разделитель $ . "" " .$ nl;
// Отправляем электронное письмо с помощью функции сообщения mail ()
if (mail ($ to, $ subject, $ message, $ headers))
echo "Электронное письмо с вложением успешно отправлено.\ r \ n ";

еще
echo "Электронное письмо не отправлено. \ r \ n ";

?>

Следующий вывод появится после запуска скрипта с веб-сервера, если функция mail () работает правильно.


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

Заключение

В PHP существует множество способов отправки электронных писем. Функция PHP mail () не работает должным образом в Ubuntu после настройки конфигурации. В этом руководстве показаны необходимые конфигурации и способ отправки электронных писем с помощью функции PHP mail ().

Как показать наложение OSD в полноэкранных приложениях и играх Linux
Игра в полноэкранные игры или использование приложений в полноэкранном режиме без отвлекающих факторов может отрезать вас от соответствующей системной...
Топ-5 карт для захвата игр
Все мы видели и любили потоковые игры на YouTube. PewDiePie, Jakesepticye и Markiplier - лишь некоторые из лучших игроков, которые заработали миллионы...
Как разработать игру в Linux
Десять лет назад не многие пользователи Linux могли бы предсказать, что их любимая операционная система однажды станет популярной игровой платформой д...