2016-11-05 6 views
3

次のコードはxamppローカルサーバーでは動作しますが、リモートホストでは電子メールを送信しません。私はこのエラーを取得する:PHPMailerがGmail SMTPで動作しない

Message could not be sent.Mailer Error: SMTP connect() failed

require_once('header.php'); 
require_once('PHPMailer/PHPMailerAutoload.php'); 
function sendMail($address, $message){ 
    $mail = new PHPMailer; 
    //$mail->SMTPDebug = 3;     // Enable verbose debug output 
    $mail->isSMTP();      // Set mailer to use SMTP 
    $mail->Host = 'smtp.gmail.com';   // Specify main and backup SMTP servers 
    $mail->SMTPAuth = true;     // Enable SMTP authentication 
    $mail->Username = '[email protected]'; // SMTP username 
    $mail->Password = 'mypass';    // SMTP password 
    $mail->SMTPSecure = 'tls';    // Enable TLS encryption, `ssl` also accepted 
    $mail->Port = 587;      // TCP port to connect to 
    $mail->SMTPOptions = array(
     'ssl' => array(
      'verify_peer' => false, 
      'verify_peer_name' => false, 
      'allow_self_signed' => true 
    ) 
    ); 
    $mail->setFrom('[email protected]', 'ID Test'); // Add a recipient 
    $mail->addAddress($address);    // Name is optional 
    //$mail->addReplyTo('[email protected]', 'Information'); 
    //$mail->addCC('[email protected]'); 
    //$mail->addBCC('[email protected]'); 

    $mail->isHTML(false);      // Set email format to HTML 

    $mail->Subject = 'Twitter search'; 
    $mail->Body = $message; 
    //$mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; 

    $mail->send(); 
} 
+3

http://php.net/manual/en/function.error-reporting.php --- https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting –

+1

PhpMailerのデバッグフラグがあります。ドキュメント、同様の質問を検索します。 – Progrock

答えて

2

TLS認証プロトコルとポート番号587に設定Gmailのサーバーを使用しているとき、私はphpmailerのと過去にトラブルを持っていた私が今まで私のために働いているの組み合わせを覚えていません。 。しかし、私はSSL/465を使って問題を抱えたことはありません。これに代えて

// Your Current Settings 
$mail->SMTPSecure = 'tls'; 
$mail->Port = 587; 

これを試してみてください:

// Updated Settings 
$mail->SMTPSecure = 'ssl'; 
$mail->Port = 465; 

詳細情報:

関連する問題