Advertisement
Guest User

Untitled

a guest
Sep 5th, 2017
489
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.57 KB | None | 0 0
  1. $config['smtp_username'] = 'checks-hotel@yandex.ru';
  2. $config['smtp_port'] = '465';
  3. $config['smtp_host'] = 'ssl://smtp.yandex.ru';
  4. $config['smtp_password'] = 'k765230100';
  5. $config['smtp_debug'] = true;
  6. $config['smtp_charset'] = 'utf-8';
  7. $config['smtp_from'] = 'Checks Bot';
  8.  
  9. function smtpmail($to='', $mail_to, $subject, $message, $headers='') {
  10. global $config;
  11. $SEND = "Date: ".date("D, d M Y H:i:s") . " UT\r\n";
  12. $SEND .= 'Subject: =?'.$config['smtp_charset'].'?B?'.base64_encode($subject)."=?=\r\n";
  13. if ($headers) $SEND .= $headers."\r\n\r\n";
  14. else
  15. {
  16. $SEND .= "Reply-To: ".$config['smtp_username']."\r\n";
  17. $SEND .= "To: \"=?".$config['smtp_charset']."?B?".base64_encode($to)."=?=\" <$mail_to>\r\n";
  18. $SEND .= "MIME-Version: 1.0\r\n";
  19. $SEND .= "Content-Type: text/html; charset=\"".$config['smtp_charset']."\"\r\n";
  20. $SEND .= "Content-Transfer-Encoding: 8bit\r\n";
  21. $SEND .= "From: \"=?".$config['smtp_charset']."?B?".base64_encode($config['smtp_from'])."=?=\" <".$config['smtp_username'].">\r\n";
  22. $SEND .= "X-Priority: 3\r\n\r\n";
  23. }
  24. $SEND .= $message."\r\n";
  25. if( !$socket = fsockopen($config['smtp_host'], $config['smtp_port'], $errno, $errstr, 30) ) {
  26. if ($config['smtp_debug']) echo $errno."<br>".$errstr;
  27. return false;
  28. }
  29.  
  30. if (!server_parse($socket, "220", __LINE__)) return false;
  31.  
  32. fputs($socket, "HELO " . $config['smtp_host'] . "\r\n");
  33. if (!server_parse($socket, "250", __LINE__)) {
  34. if ($config['smtp_debug']) echo '<p>Не могу отправить HELO!</p>';
  35. fclose($socket);
  36. return false;
  37. }
  38. fputs($socket, "AUTH LOGIN\r\n");
  39. if (!server_parse($socket, "334", __LINE__)) {
  40. if ($config['smtp_debug']) echo '<p>Не могу найти ответ на запрос авторизаци.</p>';
  41. fclose($socket);
  42. return false;
  43. }
  44. fputs($socket, base64_encode($config['smtp_username']) . "\r\n");
  45. if (!server_parse($socket, "334", __LINE__)) {
  46. if ($config['smtp_debug']) echo '<p>Логин авторизации не был принят сервером!</p>';
  47. fclose($socket);
  48. return false;
  49. }
  50. fputs($socket, base64_encode($config['smtp_password']) . "\r\n");
  51. if (!server_parse($socket, "235", __LINE__)) {
  52. if ($config['smtp_debug']) echo '<p>Пароль не был принят сервером как верный! Ошибка авторизации!</p>';
  53. fclose($socket);
  54. return false;
  55. }
  56. fputs($socket, "MAIL FROM: <".$config['smtp_username'].">\r\n");
  57. if (!server_parse($socket, "250", __LINE__)) {
  58. if ($config['smtp_debug']) echo '<p>Не могу отправить комманду MAIL FROM: </p>';
  59. fclose($socket);
  60. return false;
  61. }
  62. fputs($socket, "RCPT TO: <" . $mail_to . ">\r\n");
  63.  
  64. if (!server_parse($socket, "250", __LINE__)) {
  65. if ($config['smtp_debug']) echo '<p>Не могу отправить комманду RCPT TO: </p>';
  66. fclose($socket);
  67. return false;
  68. }
  69. fputs($socket, "DATA\r\n");
  70.  
  71. if (!server_parse($socket, "354", __LINE__)) {
  72. if ($config['smtp_debug']) echo '<p>Не могу отправить комманду DATA</p>';
  73. fclose($socket);
  74. return false;
  75. }
  76. fputs($socket, $SEND."\r\n.\r\n");
  77.  
  78. if (!server_parse($socket, "250", __LINE__)) {
  79. if ($config['smtp_debug']) echo '<p>Не смог отправить тело письма. Письмо не было отправленно!</p>';
  80. fclose($socket);
  81. return false;
  82. }
  83. fputs($socket, "QUIT\r\n");
  84. fclose($socket);
  85. return TRUE;
  86. }
  87.  
  88. function server_parse($socket, $response, $line = __LINE__) {
  89. global $config;
  90. while (@substr($server_response, 3, 1) != ' ') {
  91. if (!($server_response = fgets($socket, 256))) {
  92. if ($config['smtp_debug']) echo "<p>Проблемы с отправкой почты!</p>$response<br>$line<br>";
  93. return false;
  94. }
  95. }
  96. if (!(substr($server_response, 0, 3) == $response)) {
  97. if ($config['smtp_debug']) echo "<p>Проблемы с отправкой почты!</p>$response<br>$line<br>";
  98. return false;
  99. }
  100. return true;
  101. }
  102.  
  103. $filename = 'log.txt';
  104. $teme = 'Первый запуск программы';
  105. $telo = 'Программа была запущенена первый раз на сайте: '.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
  106.  
  107. if (!file_exists($filename)) {
  108. $fp = fopen("log.txt", "w");
  109. fwrite($fp, $_SERVER['HTTP_HOST']);
  110. smtpmail('', 'chekionline@yandex.ru', $teme, $telo);
  111. } else {
  112. $this_url = file_get_contents($filename);
  113. if ($_SERVER['HTTP_HOST']!==$this_url) {
  114. $fp = fopen("log.txt", "w");
  115. fwrite($fp, $_SERVER['HTTP_HOST']);
  116. smtpmail('', 'chekionline@yandex.ru', $teme, $telo);
  117. }
  118. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement