Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- I'm attempting to use PHPMailer to set up my email to receive emails/messages via a contact form on my website. I'm having trouble setting it up. Submitting the contact form calls this php file `sendemail.php`:
- <?php
- require_once('phpmailer/PHPMailerAutoload.php');
- $toemails = array();
- $toemails[] = array(
- 'email' => 'myRealEmail@yahoo.com', // Your Email Address
- 'name' => 'My Name' // Your Name
- );
- // Form Processing Messages
- $message_success = 'We have <strong>successfully</strong> received your Message and will get Back to you as soon as possible.';
- // Add this only if you use reCaptcha with your Contact Forms
- $recaptcha_secret = 'your-recaptcha-secret-key'; // Your reCaptcha Secret
- $mail = new PHPMailer();
- // If you intend you use SMTP, add your SMTP Code after this Line
- $mail->IsSMTP();
- $mail->Host = "smtp.mail.yahoo.com";
- $mail->SMTPDebug = 0;
- $mail->SMTPAuth = true;
- $mail->Port = 587;
- $mail->SMTPSecure = 'tls';
- // $mail->SMTPSecure = 'ssl';
- $mail->Username = "---@yahoo.com";
- $mail->Password = "---";
- if( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
- if( $_POST['template-contactform-email'] != '' ) {
- $name = isset( $_POST['template-contactform-name'] ) ? $_POST['template-contactform-name'] : '';
- $email = isset( $_POST['template-contactform-email'] ) ? $_POST['template-contactform-email'] : '';
- $phone = isset( $_POST['template-contactform-phone'] ) ? $_POST['template-contactform-phone'] : '';
- $service = isset( $_POST['template-contactform-service'] ) ? $_POST['template-contactform-service'] : '';
- $subject = isset( $_POST['template-contactform-subject'] ) ? $_POST['template-contactform-subject'] : '';
- $message = isset( $_POST['template-contactform-message'] ) ? $_POST['template-contactform-message'] : '';
- $subject = isset($subject) ? $subject : 'New Message From Contact Form';
- $botcheck = $_POST['template-contactform-botcheck'];
- if( $botcheck == '' ) {
- $mail->SetFrom( $email , $name );
- $mail->AddReplyTo( $email , $name );
- foreach( $toemails as $toemail ) {
- $mail->AddAddress( $toemail['email'] , $toemail['name'] );
- }
- $mail->Subject = $subject;
- $name = isset($name) ? "Name: $name<br><br>" : '';
- $email = isset($email) ? "Email: $email<br><br>" : '';
- $phone = isset($phone) ? "Phone: $phone<br><br>" : '';
- $service = isset($service) ? "Service: $service<br><br>" : '';
- $message = isset($message) ? "Message: $message<br><br>" : '';
- $referrer = $_SERVER['HTTP_REFERER'] ? '<br><br><br>This Form was submitted from: ' . $_SERVER['HTTP_REFERER'] : '';
- $body = "$name $email $phone $service $message $referrer";
- // Runs only when File Field is present in the Contact Form
- if ( isset( $_FILES['template-contactform-file'] ) && $_FILES['template-contactform-file']['error'] == UPLOAD_ERR_OK ) {
- $mail->IsHTML(true);
- $mail->AddAttachment( $_FILES['template-contactform-file']['tmp_name'], $_FILES['template-contactform-file']['name'] );
- }
- // Runs only when reCaptcha is present in the Contact Form
- if( isset( $_POST['g-recaptcha-response'] ) ) {
- $recaptcha_response = $_POST['g-recaptcha-response'];
- $response = file_get_contents( "https://www.google.com/recaptcha/api/siteverify?secret=" . $recaptcha_secret . "&response=" . $recaptcha_response );
- $g_response = json_decode( $response );
- if ( $g_response->success !== true ) {
- echo '{ "alert": "error", "message": "Captcha not Validated! Please Try Again." }';
- die;
- }
- }
- $mail->MsgHTML( $body );
- $sendEmail = $mail->Send();
- if( $sendEmail == true ):
- echo '{ "alert": "success", "message": "' . $message_success . '" }';
- else:
- echo '{ "alert": "error", "message": "Email <strong>could not</strong> be sent due to some Unexpected Error. Please Try Again later.<br /><br /><strong>Reason:</strong><br />' . $mail->ErrorInfo . '" }';
- endif;
- } else {
- echo '{ "alert": "error", "message": "Bot <strong>Detected</strong>.! Clean yourself Botster.!" }';
- }
- } else {
- echo '{ "alert": "error", "message": "Please <strong>Fill up</strong> all the Fields and Try Again." }';
- }
- } else {
- echo '{ "alert": "error", "message": "An <strong>unexpected error</strong> occured. Please Try Again later." }';
- }
- ?>
- Which calls this `PHPMailerAutoload.php` file:
- <?php
- /**
- * PHPMailer SPL autoloader.
- * PHP Version 5
- * @package PHPMailer
- * @link https://github.com/PHPMailer/PHPMailer/ The PHPMailer GitHub project
- * @author Marcus Bointon (Synchro/coolbru) <phpmailer@synchromedia.co.uk>
- * @author Jim Jagielski (jimjag) <jimjag@gmail.com>
- * @author Andy Prevost (codeworxtech) <codeworxtech@users.sourceforge.net>
- * @author Brent R. Matzelle (original founder)
- * @copyright 2012 - 2014 Marcus Bointon
- * @copyright 2010 - 2012 Jim Jagielski
- * @copyright 2004 - 2009 Andy Prevost
- * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
- * @note This program is distributed in the hope that it will be useful - WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.
- */
- /**
- * PHPMailer SPL autoloader.
- * @param string $classname The name of the class to load
- */
- function PHPMailerAutoload($classname)
- {
- //Can't use __DIR__ as it's only in PHP 5.3+
- $filename = dirname(__FILE__).DIRECTORY_SEPARATOR.'class.'.strtolower($classname).'.php';
- if (is_readable($filename)) {
- require $filename;
- }
- }
- if (version_compare(PHP_VERSION, '5.1.2', '>=')) {
- //SPL autoloading was introduced in PHP 5.1.2
- if (version_compare(PHP_VERSION, '5.3.0', '>=')) {
- spl_autoload_register('PHPMailerAutoload', true, true);
- } else {
- spl_autoload_register('PHPMailerAutoload');
- }
- } else {
- /**
- * Fall back to traditional autoload for old PHP versions
- * @param string $classname The name of the class to load
- */
- function __autoload($classname)
- {
- PHPMailerAutoload($classname);
- }
- }
- Gives me a SMTP connection failed error
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement