PHP 8
Tempmailv2 Guest on 25th April 2021 01:07:57 AM
  1. <?php
  2. /* *
  3. * Configuration
  4. */
  5. $DEBUG_MODE = 0;
  6. $SMTP_USERNAME = "";
  7. $SMTP_PASSWORD = "";
  8. $SMTP_HOST = "";
  9. $SMTP_PORT = "";
  10. $SESSION_LIFETIME = 1800; // 30 minutes
  11. $MAIN_DOMAIN = '';
  12. $LOGIN_PASSWORD = '';
  13. $REDITECT_HTTPS = True;
  14. $PROTECT_PAGE = True;
  15.  
  16.  
  17. /* *
  18. * Setup
  19. */
  20. ini_set('display_errors', $DEBUG_MODE);
  21. ini_set('log_errors', $DEBUG_MODE);
  22. $OldRandom;
  23.  
  24.  
  25. /* *
  26. * HTTPS redirection
  27. */
  28. if ($REDITECT_HTTPS == True) {
  29.     if (!(isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == 'on' ||
  30.         $_SERVER['HTTPS'] == 1) ||  
  31.         isset($_SERVER['HTTP_X_FORWARDED_PROTO']) &&  
  32.         $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https'))
  33.     {
  34.         $redirect = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
  35.         header('HTTP/1.1 301 Moved Permanently');
  36.         header('Location: ' . $redirect);
  37.         exit();
  38.     }
  39. }
  40.  
  41.  
  42. /* *
  43. * Protect page
  44. */
  45. if ($PROTECT_PAGE == True) {
  46.     $InputPassword = $_POST['pass'];
  47.     if(!($InputPassword == $LOGIN_PASSWORD)) {
  48.         echo '<html><body><center><form method="POST" action="'.$_SERVER['REQUEST_URI'].'">
  49.                Password protected page:<br/><input type="password" name="pass"></input><br/>
  50.                <input type="submit" name="submit" value="PROCEED"></input>
  51.                </form></center></body></html>';
  52.         exit();
  53.     }
  54. }
  55.  
  56.  
  57. /* *
  58. * Add basic functionality
  59. */
  60. print_r($_GET);
  61. if (isset($_GET['action'])) {
  62. }
  63. echo '<script>
  64. function destroySession() {
  65.    var xhttp = new XMLHttpRequest();
  66.    xhttp.onreadystatechange = function() {
  67.        if (this.readyState == 4 && this.status == 200) {
  68.        document.getElementById("emails").innerHTML = this.responseText;
  69.        }
  70.    };
  71.    xhttp.open("GET", "index.php?destroy", true);
  72.    xhttp.send();
  73. }
  74. </script>';
  75. echo '<button onClick="location.reload();">REFRESH</button><br/>';
  76. echo '<button onClick="window.location.href = window.location.protocol "//" + window.location.host + window.location.pathname;">REFRESH PAGE</button><br/>';
  77. echo '<button onClick="destroySession();">DESTROY SESSION</button><br/>';
  78.  
  79.  
  80. /* *
  81. * Session
  82. */
  83. echo '<div id="emails">';
  84. $TimeNow = time();
  85. if(isset($_SESSION['lifetime']) && $TimeNow > $_SESSION['lifetime']){
  86.         $OldRandom = $_SESSION['mailbox'];
  87.         $_SESSION = array();
  88.         session_destroy();
  89.         session_start();
  90. }
  91. $_SESSION['lifetime'] = $TimeNow + $SESSION_LIFETIME;    // Session lifetime 30 minutes
  92.  
  93. $Random = substr(md5(rand()),0,15);
  94. if(!isset($_SESSION['mailbox'])) $_SESSION['mailbox'] = $Random;
  95. else $Random = $_SESSION['mailbox'];    // Temporary mailbox keeping
  96.  
  97. echo 'Send messages to: ',$Random,'@',$MAIN_DOMAIN,"<br><br>";
  98.  
  99. $Mailbox = imap_open("{" . $SMTP_HOST . ":" . $SMTP_PORT . "/imap/ssl/novalidate-cert}INBOX", $SMTP_USERNAME,  $SMTP_PASSWORD, OP_READONLY) or die("No connection to mail server.");
  100.  
  101. /* Mailbox cleanup. Delete all messages before today, and all dead session messages */
  102. $Today = date('d-m-Y', strtotime('today'));
  103. $search_string = 'BEFORE "' . $Today . '"';
  104. $Matches = imap_search($Mailbox, $search_string);
  105. if($Matches) {
  106.         foreach($Matches as $message) {
  107.         imap_delete($Mailbox, $message);
  108.     }
  109. }
  110.  
  111. $search_string = 'TO "' . $OldRandom . '"';
  112. $Matches = imap_search($Mailbox, $search_string);
  113. if($Matches) {
  114.     foreach($Matches as $message) {
  115.         imap_delete($message);
  116.     }
  117. }
  118.  
  119. imap_expunge($Mailbox); //Clear Trash
  120.  
  121. /* Fetch our email sent to random address in SESSION */
  122. $search_string = 'UNSEEN TO "' . $Random . '"';
  123. $Matches = imap_search($Mailbox, $search_string);
  124. $Matches = @array_reverse($Matches);
  125.  
  126. if($Matches) {
  127.     foreach($Matches as $message) {
  128.                 $header = imap_header($Mailbox, $message);
  129.                 echo $header->date,"    ",$header->fromaddress," ",$header->senderaddress,": ",$header->subject;
  130.                 echo '<pre>',imap_qprint(imap_body($Mailbox, $message)),'</pre>END MESSAGE<br>';
  131.     }
  132. } else {
  133.     echo 'No new messages';
  134. }
  135. imap_close($Mailbox);
  136.  
  137. echo '</div>';
  138. ?>

RSO cPaste е място за публикуване на код или текст за по-лесно отстраняване на грешки.

Влез или се Регистрай за да редактираш, изтриваш или преглеждаш хронология на твоето публикувано съдържание

Необработен текст

Влез или се Регистрирай за да редактираш или задържиш това съдържание.