%PDF- %PDF-
Direktori : /var/www/html/buggydubrovnik.com/PHPMailer_5.2.1/examples/ |
Current File : //var/www/html/buggydubrovnik.com/PHPMailer_5.2.1/examples/smtp_check.phps |
<?php /** * This uses the SMTP class alone to check that a connection can be made to an SMTP server, * authenticate, then disconnect */ //SMTP needs accurate times, and the PHP time zone MUST be set //This should be done in your php.ini, but this is how to do it if you don't have access to that date_default_timezone_set('Etc/UTC'); require '../PHPMailerAutoload.php'; //Create a new SMTP instance $smtp = new SMTP; //Enable connection-level debug output $smtp->do_debug = SMTP::DEBUG_CONNECTION; try { //Connect to an SMTP server if (!$smtp->connect('mail.example.com', 25)) { throw new Exception('Connect failed'); } //Say hello if (!$smtp->hello(gethostname())) { throw new Exception('EHLO failed: ' . $smtp->getError()['error']); } //Get the list of ESMTP services the server offers $e = $smtp->getServerExtList(); //If server can do TLS encryption, use it if (is_array($e) && array_key_exists('STARTTLS', $e)) { $tlsok = $smtp->startTLS(); if (!$tlsok) { throw new Exception('Failed to start encryption: ' . $smtp->getError()['error']); } //Repeat EHLO after STARTTLS if (!$smtp->hello(gethostname())) { throw new Exception('EHLO (2) failed: ' . $smtp->getError()['error']); } //Get new capabilities list, which will usually now include AUTH if it didn't before $e = $smtp->getServerExtList(); } //If server supports authentication, do it (even if no encryption) if (is_array($e) && array_key_exists('AUTH', $e)) { if ($smtp->authenticate('username', 'password')) { echo "Connected ok!"; } else { throw new Exception('Authentication failed: ' . $smtp->getError()['error']); } } } catch (Exception $e) { echo 'SMTP error: ' . $e->getMessage(), "\n"; } //Whatever happened, close the connection. $smtp->quit(true);