Как проверить работает ли функция mail в php?

Пользователь

от nicola , в категории: PHP , 3 года назад

Как проверить работает ли функция mail в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от gussie.jones , 3 года назад

@nicola Если Вам нужно проверить включено ли расширение mail в PHP, то можно использовать следующий код:


1
2
3
4
5
6
7
<?php

if (function_exists('mail')) {
    echo 'mail() доступна';
} else {
    echo 'mail() отключена';
}


Если Вам нужно проверить успешно ли отправлено письмо, используя функцию mail, то:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<?php

$email = '[email protected]';
$subject = 'Email Test';
$message = 'Проверка почты';

$sendMail = mail($email, $subject, $message);
if ($sendMail) {
    echo 'Email успешно отправлен';
} else {
    echo 'Ошибка отправки почты';
}


Если Вы хотите проверить из консоли включено ли расширение mail для PHP, то наберите в консоле:


1
dpkg -S 'which sendmail'


Для установки на Linux Ubuntu наберите в консоли:


1
sudo apt-get install sendmail

Пользователь

от fred , 2 года назад

@nicola 

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


Вот пример такого скрипта:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
<?php

$to = "[email protected]";
$subject = "Test email from PHP";
$message = "This is a test email message sent from a PHP script.";
$headers = "From: [email protected]";

if (mail($to, $subject, $message, $headers)) {
    echo "Email successfully sent!";
} else {
    echo "Error: email was not sent.";
}

?>


Чтобы запустить этот скрипт, откройте его в браузере. Если функция mail() работает корректно, то вы увидите сообщение "Email successfully sent!". Если же вы увидите сообщение "Error: email was not sent.", то это значит, что функция mail() не работает корректно.


Обратите внимание, что для того, чтобы функция mail() работала корректно, на сервере должен быть установлен и настроен почтовый сервер (например, sendmail).