Search code examples
phpphpmailer

new PHPMailer not running


Below is the phpmailer code which I am using :

  use PHPMailer\PHPMailer\PHPMailer;
  use PHPMailer\PHPMailer\Exception;
  require '../vendor/autoload.php'; 
   $mail = new PHPMailer(true);  
   try {  
       $mail->SMTPDebug = 2; 
       $mail->isSMTP();  
       $mail->Host = as given in the configure mail client window; 
       $mail->SMTPAuth = true; 
       $mail->Username =as given in the configure mail client window; 
       $mail->Password = as given in the configure mail client window;
       $mail->SMTPSecure = 'tls' ; 
       $mail->Port = 465; 
       $mail->setFrom('my email', 'my name');
       $mail->addAddress('email', 'name');
       $mail->isHTML(true); 
       $mail->Subject = 'Here is the subject';
       $mail->Body = 'This is the HTML message body <b>in bold!</b>';
       $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
       $mail->send(); 
       echo 'Message has been sent'; } 
  catch (Exception $e) { 
        echo 'Message could not be sent. Mailer Error: ', $mail->ErrorInfo; 
}

The error_log file says :

PHP Warning: stream_select(): unable to select [4]: Interrupted system call (max_fd=5) in /root/vendor/phpmailer/phpmailer/src/SMTP.php on line 1124

I have tried many examples,sometimes the it says connect() failed, sometimes couldn't connect to host and sometimes The page keeps loading and the e-mail is not sent,What is happening ? and how should I configure this . I am using godaddy cpanel php 7.


Solution

  • The important thing here is:

    I am using godaddy

    GoDaddy blocks outbound SMTP; you must use their servers (*.secureserver.net).

    You're also using SMTPSecure = 'tls' with Port = 465, which will not work. Change to SMTPSecure = 'ssl'.