Проверка доступности сервера средствами php

Настроим средствами php опрос сервера и ответ о его недоступности получим на почту.

1 способ отправляет сообщение на почту в текстовом формате. Здесь не задается адрес отправителя, поэтому в поле адрес будет почта провайдера.

<?
$host = '46.191.238.17';
$port = 80;
$waitTimeoutInSeconds = 1;
if($fp = fsockopen($host,$port,$errCode,$errStr,$waitTimeoutInSeconds)){
// It worked
echo "It worked";
// текст сообщения
$message = "первая строка\nвторая строка\nтретья строка";
// При помощи функции wordwrap() расставляем
// переносы так, чтобы строки были не длиннее 70 символов
$message = wordwrap($message, 70);
// отправляем сообщение
mail('admin@server.com';, 'Тема', $message);
} else {
// It didn't work
echo "It didn't work ";
}
fclose($fp);
?>

2 способ отправляет сообщение с html оформлением и с адресом отправителя

<?
$namehost = 'SRVR-RDS';
$iphost = '46.191.238.17';
$port = 80;
$waitTimeoutInSeconds = 1;
if($fp = fsockopen($iphost,$port,$errCode,$errStr,$waitTimeoutInSeconds)){
// It worked
echo "It worked";
}

else {
// It didn't work
echo "It didn't work ";
//тема сообщения
$subject = "Сервер $namehost недоступен ";
// текст сообщения
$message = "
<html>
<head>
<title>Сервер недоступен</title>
</head>
<body>
<p>Сервер недоступен!</p>
<table>
<tr>
<td>Сервер</td><td>$namehost</td>
</tr>
<tr>
<td>ip адрес</td><td>$iphost</td>
</tr>
</table>
<p>Не отвечайте на письмо. Оно сформировано роботом.</p>
</body>
</html>
";
// Указываем правильный MIME-тип сообщения:
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html;
charset=windows-1251' . "\r\n";

// список получателей
$to = ' admin@server.com';;
// Добавляем необходимые заголовки
$headers .= 'From: Robot <robot@server.com>' . "\r\n";

// отправляем сообщение
mail($to, $subject, $message, $headers);

}
fclose($fp);
?>

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *