Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * Leaf PHP Mailer by [leafmailer.pw]
- * @version : 2.7
- **/
- $password = ""; // Password
- session_start();
- error_reporting(0);
- set_time_limit(0);
- ini_set("memory_limit",-1);
- $leaf['version']="2.7";
- $leaf['website']="leafmailer.pw";
- $sessioncode = md5(__FILE__);
- if(!empty($password) and $_SESSION[$sessioncode] != $password){
- # _REQUEST mean _POST or _GET
- if (isset($_REQUEST['pass']) and $_REQUEST['pass'] == $password) {
- $_SESSION[$sessioncode] = $password;
- }
- else {
- print "<pre align=center><form method=post>Password: <input type='password' name='pass'><input type='submit' value='>>'></form></pre>";
- exit;
- }
- }
- if($_POST['action']=="send"){
- $senderEmail=leafTrim($_POST['senderEmail']);
- $senderName=leafTrim($_POST['senderName']);
- $replyTo=leafTrim($_POST['replyTo']);
- $subject=leafTrim($_POST['subject']);
- $emailList=leafTrim($_POST['emailList']);
- $messageType=leafTrim($_POST['messageType']);
- $messageLetter=leafTrim($_POST['messageLetter']);
- $messageLetter = urlencode($messageLetter);
- $messageLetter = ereg_replace("%5C%22", "%22", $messageLetter);
- $messageLetter = urldecode($messageLetter);
- $messageLetter = stripslashes($messageLetter);
- $subject = stripslashes($subject);
- $encode = stripslashes($encode);
- }
- if($messageType==2){
- $plain="checked";
- }
- else {
- $html="checked";
- }
- function leafClear($text,$email){
- $emailuser = preg_replace('/([^@]*).*/', '$1', $email);
- $text = str_replace("[-time-]", date("m/d/Y h:i:s a", time()), $text);
- $text = str_replace("[-email-]", $email, $text);
- $text = str_replace("[-emailuser-]", $emailuser, $text);
- $text = str_replace("[-randomletters-]", randString('abcdefghijklmnopqrstuvwxyz'), $text);
- $text = str_replace("[-randomstring-]", randString('abcdefghijklmnopqrstuvwxyz0123456789'), $text);
- $text = str_replace("[-randomnumber-]", randString('0123456789'), $text);
- $text = str_replace("[-randommd5-]", md5(randString('abcdefghijklmnopqrstuvwxyz0123456789')), $text);
- return $text;
- }
- function leafTrim($string){
- return stripslashes(ltrim(rtrim($string)));
- }
- function randString($consonants) {
- $length=rand(12,25);
- $password = '';
- for ($i = 0; $i < $length; $i++) {
- $password .= $consonants[(rand() % strlen($consonants))];
- }
- return $password;
- }
- function leafMailCheck($email){
- $exp = "^[a-z\'0-9]+([._-][a-z\'0-9]+)*@([a-z0-9]+([._-][a-z0-9]+))+$";
- if(eregi($exp,$email)){
- if(checkdnsrr(array_pop(explode("@",$email)),"MX")){return true;}
- else{return false;}
- }
- else{return false;}
- }
- class PHPMailer
- {
- /**
- * The PHPMailer Version number.
- * @var string
- */
- public $Version = '5.2.14';
- /**
- * Email priority.
- * Options: null (default), 1 = High, 3 = Normal, 5 = low.
- * When null, the header is not set at all.
- * @var integer
- */
- public $Priority = null;
- /**
- * The character set of the message.
- * @var string
- */
- public $CharSet = 'iso-8859-1';
- /**
- * The MIME Content-type of the message.
- * @var string
- */
- public $ContentType = 'text/plain';
- /**
- * The message encoding.
- * Options: "8bit", "7bit", "binary", "base64", and "quoted-printable".
- * @var string
- */
- public $Encoding = '8bit';
- /**
- * Holds the most recent mailer error message.
- * @var string
- */
- public $ErrorInfo = '';
- /**
- * The From email address for the message.
- * @var string
- */
- public $From = 'root@localhost';
- /**
- * The From name of the message.
- * @var string
- */
- public $FromName = 'Root User';
- /**
- * The Sender email (Return-Path) of the message.
- * If not empty, will be sent via -f to sendmail or as 'MAIL FROM' in smtp mode.
- * @var string
- */
- public $Sender = '';
- /**
- * The Return-Path of the message.
- * If empty, it will be set to either From or Sender.
- * @var string
- * @deprecated Email senders should never set a return-path header;
- * it's the receiver's job (RFC5321 section 4.4), so this no longer does anything.
- * @link https://tools.ietf.org/html/rfc5321#section-4.4 RFC5321 reference
- */
- public $ReturnPath = '';
- /**
- * The Subject of the message.
- * @var string
- */
- public $Subject = '';
- /**
- * An HTML or plain text message body.
- * If HTML then call isHTML(true).
- * @var string
- */
- public $Body = '';
- /**
- * The plain-text message body.
- * This body can be read by mail clients that do not have HTML email
- * capability such as mutt & Eudora.
- * Clients that can read HTML will view the normal Body.
- * @var string
- */
- public $AltBody = '';
- /**
- * An iCal message part body.
- * Only supported in simple alt or alt_inline message types
- * To generate iCal events, use the bundled extras/EasyPeasyICS.php class or iCalcreator
- * @link http://sprain.ch/blog/downloads/php-class-easypeasyics-create-ical-files-with-php/
- * @link http://kigkonsult.se/iCalcreator/
- * @var string
- */
- public $Ical = '';
- /**
- * The complete compiled MIME message body.
- * @access protected
- * @var string
- */
- protected $MIMEBody = '';
- /**
- * The complete compiled MIME message headers.
- * @var string
- * @access protected
- */
- protected $MIMEHeader = '';
- /**
- * Extra headers that createHeader() doesn't fold in.
- * @var string
- * @access protected
- */
- protected $mailHeader = '';
- /**
- * Word-wrap the message body to this number of chars.
- * Set to 0 to not wrap. A useful value here is 78, for RFC2822 section 2.1.1 compliance.
- * @var integer
- */
- public $WordWrap = 0;
- /**
- * Which method to use to send mail.
- * Options: "mail", "sendmail", or "smtp".
- * @var string
- */
- public $Mailer = 'mail';
- /**
- * The path to the sendmail program.
- * @var string
- */
- public $Sendmail = '/usr/sbin/sendmail';
- /**
- * Whether mail() uses a fully sendmail-compatible MTA.
- * One which supports sendmail's "-oi -f" options.
- * @var boolean
- */
- public $UseSendmailOptions = true;
- /**
- * Path to PHPMailer plugins.
- * Useful if the SMTP class is not in the PHP include path.
- * @var string
- * @deprecated Should not be needed now there is an autoloader.
- */
- public $PluginDir = '';
- /**
- * The email address that a reading confirmation should be sent to, also known as read receipt.
- * @var string
- */
- public $ConfirmReadingTo = '';
- /**
- * The hostname to use in the Message-ID header and as default HELO string.
- * If empty, PHPMailer attempts to find one with, in order,
- * $_SERVER['SERVER_NAME'], gethostname(), php_uname('n'), or the value
- * 'localhost.localdomain'.
- * @var string
- */
- public $Hostname = '';
- /**
- * An ID to be used in the Message-ID header.
- * If empty, a unique id will be generated.
- * @var string
- */
- public $MessageID = '';
- /**
- * The message Date to be used in the Date header.
- * If empty, the current date will be added.
- * @var string
- */
- public $MessageDate = '';
- /**
- * SMTP hosts.
- * Either a single hostname or multiple semicolon-delimited hostnames.
- * You can also specify a different port
- * for each host by using this format: [hostname:port]
- * (e.g. "smtp1.example.com:25;smtp2.example.com").
- * You can also specify encryption type, for example:
- * (e.g. "tls://smtp1.example.com:587;ssl://smtp2.example.com:465").
- * Hosts will be tried in order.
- * @var string
- */
- public $Host = 'localhost';
- /**
- * The default SMTP server port.
- * @var integer
- * @TODO Why is this needed when the SMTP class takes care of it?
- */
- public $Port = 25;
- /**
- * The SMTP HELO of the message.
- * Default is $Hostname. If $Hostname is empty, PHPMailer attempts to find
- * one with the same method described above for $Hostname.
- * @var string
- * @see PHPMailer::$Hostname
- */
- public $Helo = '';
- /**
- * What kind of encryption to use on the SMTP connection.
- * Options: '', 'ssl' or 'tls'
- * @var string
- */
- public $SMTPSecure = '';
- /**
- * Whether to enable TLS encryption automatically if a server supports it,
- * even if `SMTPSecure` is not set to 'tls'.
- * Be aware that in PHP >= 5.6 this requires that the server's certificates are valid.
- * @var boolean
- */
- public $SMTPAutoTLS = true;
- /**
- * Whether to use SMTP authentication.
- * Uses the Username and Password properties.
- * @var boolean
- * @see PHPMailer::$Username
- * @see PHPMailer::$Password
- */
- public $SMTPAuth = false;
- /**
- * Options array passed to stream_context_create when connecting via SMTP.
- * @var array
- */
- public $SMTPOptions = array();
- /**
- * SMTP username.
- * @var string
- */
- public $Username = '';
- /**
- * SMTP password.
- * @var string
- */
- public $Password = '';
- /**
- * SMTP auth type.
- * Options are LOGIN (default), PLAIN, NTLM, CRAM-MD5
- * @var string
- */
- public $AuthType = '';
- /**
- * SMTP realm.
- * Used for NTLM auth
- * @var string
- */
- public $Realm = '';
- /**
- * SMTP workstation.
- * Used for NTLM auth
- * @var string
- */
- public $Workstation = '';
- /**
- * The SMTP server timeout in seconds.
- * Default of 5 minutes (300sec) is from RFC2821 section 4.5.3.2
- * @var integer
- */
- public $Timeout = 300;
- /**
- * SMTP class debug output mode.
- * Debug output level.
- * Options:
- * * `0` No output
- * * `1` Commands
- * * `2` Data and commands
- * * `3` As 2 plus connection status
- * * `4` Low-level data output
- * @var integer
- * @see SMTP::$do_debug
- */
- public $SMTPDebug = 0;
- /**
- * How to handle debug output.
- * Options:
- * * `echo` Output plain-text as-is, appropriate for CLI
- * * `html` Output escaped, line breaks converted to `<br>`, appropriate for browser output
- * * `error_log` Output to error log as configured in php.ini
- *
- * Alternatively, you can provide a callable expecting two params: a message string and the debug level:
- * <code>
- * $mail->Debugoutput = function($str, $level) {echo "debug level $level; message: $str";};
- * </code>
- * @var string|callable
- * @see SMTP::$Debugoutput
- */
- public $Debugoutput = 'echo';
- /**
- * Whether to keep SMTP connection open after each message.
- * If this is set to true then to close the connection
- * requires an explicit call to smtpClose().
- * @var boolean
- */
- public $SMTPKeepAlive = false;
- /**
- * Whether to split multiple to addresses into multiple messages
- * or send them all in one message.
- * @var boolean
- */
- public $SingleTo = false;
- /**
- * Storage for addresses when SingleTo is enabled.
- * @var array
- * @TODO This should really not be public
- */
- public $SingleToArray = array();
- /**
- * Whether to generate VERP addresses on send.
- * Only applicable when sending via SMTP.
- * @link https://en.wikipedia.org/wiki/Variable_envelope_return_path
- * @link http://www.postfix.org/VERP_README.html Postfix VERP info
- * @var boolean
- */
- public $do_verp = false;
- /**
- * Whether to allow sending messages with an empty body.
- * @var boolean
- */
- public $AllowEmpty = false;
- /**
- * The default line ending.
- * @note The default remains "\n". We force CRLF where we know
- * it must be used via self::CRLF.
- * @var string
- */
- public $LE = "\n";
- /**
- * DKIM selector.
- * @var string
- */
- public $DKIM_selector = '';
- /**
- * DKIM Identity.
- * Usually the email address used as the source of the email
- * @var string
- */
- public $DKIM_identity = '';
- /**
- * DKIM passphrase.
- * Used if your key is encrypted.
- * @var string
- */
- public $DKIM_passphrase = '';
- /**
- * DKIM signing domain name.
- * @example 'example.com'
- * @var string
- */
- public $DKIM_domain = '';
- /**
- * DKIM private key file path.
- * @var string
- */
- public $DKIM_private = '';
- /**
- * Callback Action function name.
- *
- * The function that handles the result of the send email action.
- * It is called out by send() for each email sent.
- *
- * Value can be any php callable: http://www.php.net/is_callable
- *
- * Parameters:
- * boolean $result result of the send action
- * string $to email address of the recipient
- * string $cc cc email addresses
- * string $bcc bcc email addresses
- * string $subject the subject
- * string $body the email body
- * string $from email address of sender
- * @var string
- */
- public $action_function = '';
- /**
- * What to put in the X-Mailer header.
- * Options: An empty string for PHPMailer default, whitespace for none, or a string to use
- * @var string
- */
- public $XMailer = '';
- /**
- * An instance of the SMTP sender class.
- * @var SMTP
- * @access protected
- */
- protected $smtp = null;
- /**
- * The array of 'to' names and addresses.
- * @var array
- * @access protected
- */
- protected $to = array();
- /**
- * The array of 'cc' names and addresses.
- * @var array
- * @access protected
- */
- protected $cc = array();
- /**
- * The array of 'bcc' names and addresses.
- * @var array
- * @access protected
- */
- protected $bcc = array();
- /**
- * The array of reply-to names and addresses.
- * @var array
- * @access protected
- */
- protected $ReplyTo = array();
- /**
- * An array of all kinds of addresses.
- * Includes all of $to, $cc, $bcc
- * @var array
- * @access protected
- * @see PHPMailer::$to @see PHPMailer::$cc @see PHPMailer::$bcc
- */
- protected $all_recipients = array();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement