Search code examples
phpxamppsmtpphpmailersendmail

how to send mail using phpmailer on xampp


I have been trying to send a mail using php mailer on xampp and i do get this error saying Message could not be sent. Mailer Error: The following From address failed: [email protected] : Called Mail() without being connected

please, i need help on how to fix this. Here is my code;

<?php
require( 'class.phpmailer.php' );

  $mail = new PHPMailer;
  $mail->IsSMTP();
  $mail->SMTPAuth = true;
  $mail->Host = "tls://smtp.gmail.com";
  $mail->Port = 25;
  $mail->Username = "[email protected]";
  $mail->Password = "xxxxx";
  //Sending the actual email
  $mail->setFrom('[email protected]', 'Aaron');
  $mail->addAddress('[email protected]', 'Aaron');     // Add a recipient
  $mail->isHTML(false);                                  // Set email format to HTML
  $mail->Subject = 'Calculation form results from ';
  $mail->Body = 'testing...';

  if(!$mail->send()) {
    echo 'Message could not be sent. ';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
    exit;
  }
?>

Solution

  • Literally copied from https://github.com/PHPMailer/PHPMailer/blob/master/examples/gmail.phps

    //Create a new PHPMailer instance
    $mail = new PHPMailer;
    
    //Tell PHPMailer to use SMTP
    $mail->isSMTP();
    
    //Set the hostname of the mail server
    $mail->Host = 'smtp.gmail.com';
    // use
    // $mail->Host = gethostbyname('smtp.gmail.com');
    // if your network does not support SMTP over IPv6
    
    //Set the SMTP port number - 587 for authenticated TLS
    $mail->Port = 587;
    
    //Set the encryption system to use - ssl (deprecated) or tls
    $mail->SMTPSecure = 'tls';
    
    //Whether to use SMTP authentication
    $mail->SMTPAuth = true;
    
    //Username to use for SMTP authentication - use full email address for gmail
    $mail->Username = "[email protected]";
    
    //Password to use for SMTP authentication
    $mail->Password = "yourpassword";
    
    //Set who the message is to be sent from
    $mail->setFrom('[email protected]', 'First Last');
    
    //Set an alternative reply-to address
    $mail->addReplyTo('[email protected]', 'First Last');
    
    //Set who the message is to be sent to
    $mail->addAddress('[email protected]', 'John Doe');