Guest User

Untitled

a guest
Oct 7th, 2018
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.69 KB | None | 0 0
  1. <?php
  2. function server_parse($socket, $response)
  3. {
  4. $server_response = '';
  5. while ( substr($server_response,3,1) != ' ' )
  6. {
  7. if( !( $server_response = fgets($socket, 256) ) )
  8. {
  9. die("Couldn't get mail server response codes");
  10. }
  11. }
  12.  
  13. if( !( substr($server_response, 0, 3) == $response ) )
  14. {
  15. die("Ran into problems sending Mail. Response: $server_response");
  16. }
  17. }
  18. function smtpmail($mail_to, $subject, $message, $headers = "")
  19. {
  20. $smtp_host = "mail.gameserv.pl";
  21. $smtp_username = "admin@gameserv.pl";
  22. $smtp_password = "hacker123";
  23. $admin_email = "admin@gameserv.pl";
  24.  
  25. $message = preg_replace("/(?<!\r)\n/si", "\r\n", $message);
  26.  
  27. if ($headers != "")
  28. {
  29. if(is_array($headers))
  30. {
  31. if(sizeof($headers) > 1)
  32. {
  33. $headers = join("\r\n", $headers);
  34. }
  35. else
  36. {
  37. $headers = $headers[0];
  38. }
  39. }
  40. $headers = chop($headers);
  41.  
  42. $headers = preg_replace("/(?<!\r)\n/si", "\r\n", $headers);
  43. $header_array = explode("\r\n", $headers);
  44. @reset($header_array);
  45. $headers = "";
  46. $cc = '';
  47. $bcc = '';
  48. while( list(, $header) = each($header_array) )
  49. {
  50. if( preg_match("/^cc:/si", $header) )
  51. {
  52. $cc = preg_replace("/^cc:(.*)/si", "\\1", $header);
  53. }
  54. else if( preg_match("/^bcc:/si", $header ))
  55. {
  56. $bcc = preg_replace("/^bcc:(.*)/si", "\\1", $header);
  57. $header = "";
  58. }
  59. $headers .= $header . "\r\n";
  60. }
  61. $headers = chop($headers);
  62. $cc = explode(",", $cc);
  63. $bcc = explode(",", $bcc);
  64. }
  65.  
  66.  
  67. if(trim($mail_to) == "")
  68. {
  69. exit();
  70. }
  71. if(trim($subject) == "")
  72. {
  73. die("No email Subject specified");
  74. }
  75.  
  76. $mail_to_array = explode(",", $mail_to);
  77.  
  78. if( !$socket = fsockopen($smtp_host, 25, $errno, $errstr, 20) )
  79. {
  80. die("Could not connect to smtp host : $errno : $errstr");
  81. }
  82. server_parse($socket, "220");
  83.  
  84. if( !empty($smtp_username) && !empty($smtp_password) )
  85. {
  86. fputs($socket, "EHLO " . $smtp_host . "\r\n");
  87. server_parse($socket, "250");
  88.  
  89. fputs($socket, "AUTH LOGIN\r\n");
  90. server_parse($socket, "334");
  91. fputs($socket, base64_encode($smtp_username) . "\r\n");
  92. server_parse($socket, "334");
  93. fputs($socket, base64_encode($smtp_password) . "\r\n");
  94. server_parse($socket, "235");
  95. }
  96. else
  97. {
  98. fputs($socket, "HELO " . $smtp_host . "\r\n");
  99. server_parse($socket, "250");
  100. }
  101.  
  102. fputs($socket, "MAIL FROM: <" . $admin_email . ">\r\n");
  103. server_parse($socket, "250");
  104.  
  105. $to_header = "To: ";
  106. @reset( $mail_to_array );
  107. while( list( , $mail_to_address ) = each( $mail_to_array ))
  108. {
  109. $mail_to_address = trim($mail_to_address);
  110. if ( preg_match('/[^ ]+\@[^ ]+/', $mail_to_address) )
  111. {
  112. fputs( $socket, "RCPT TO: <$mail_to_address>\r\n" );
  113. server_parse( $socket, "250" );
  114. }
  115. $to_header .= "<$mail_to_address>, ";
  116. }
  117. @reset( $bcc );
  118. while( list( , $bcc_address ) = @each( $bcc ))
  119. {
  120. $bcc_address = trim( $bcc_address );
  121. if ( preg_match('/[^ ]+\@[^ ]+/', $bcc_address) )
  122. {
  123. fputs( $socket, "RCPT TO: <$bcc_address>\r\n" );
  124. server_parse( $socket, "250" );
  125. }
  126. }
  127. @reset( $cc );
  128. while( list( , $cc_address ) = @each( $cc ))
  129. {
  130. $cc_address = trim( $cc_address );
  131. if ( preg_match('/[^ ]+\@[^ ]+/', $cc_address) )
  132. {
  133. fputs($socket, "RCPT TO: <$cc_address>\r\n");
  134. server_parse($socket, "250");
  135. }
  136. }
  137. fputs($socket, "DATA\r\n");
  138.  
  139. server_parse($socket, "354");
  140.  
  141. fputs($socket, "Subject: $subject\r\n");
  142.  
  143. fputs($socket, "$to_header\r\n");
  144.  
  145. fputs($socket, "$headers\r\n\r\n");
  146.  
  147. fputs($socket, "$message\r\n");
  148.  
  149. fputs($socket, ".\r\n");
  150. server_parse($socket, "250");
  151.  
  152. fputs($socket, "QUIT\r\n");
  153. fclose($socket);
  154.  
  155. return TRUE;
  156. }
  157.  
  158. function mail2($mail_to, $mail_from, $mail_from_address, $subject, $message){
  159.  
  160. mb_internal_encoding('ISO-8859-2');
  161.  
  162. $subject = mb_encode_mimeheader($subject, "ISO-8859-2", "Q");
  163. $mail_from = mb_encode_mimeheader($mail_from, "ISO-8859-2", "Q");
  164. $headers = "Reply-to: $mail_from_address\nFrom: \"$mail_from\" <$mail_from_address>\nMIME-Version: 1.0\nContent-type: text/plain; charset=ISO-8859-2\nContent-transfer-encoding: 8bit\nDate: " . gmdate('D, d M Y H:i:s', time()) . " UT\n";
  165.  
  166. if(mail ($mail_to, $subject, $message, $headers)){
  167.  
  168. } else {
  169.  
  170. }
  171.  
  172.  
  173. }
  174. ?>
Add Comment
Please, Sign In to add comment