web-dev-qa-db-ja.com

PHPMailerはGmailをSMTPサーバーとして使用します。SMTPホストに接続できませんでした。メーラーエラー:SMTPエラー:SMTPホストに接続できませんでした

phpMailerを使用して、確認メッセージをユーザーにメールで送信しようとしています。私のコードはこれです:

<?php
include("class.phpmailer.php");
include("class.smtp.php");
$mail = new PHPMailer();
$mail->IsSMTP(); // set mailer to use SMTP
$mail->Host = "ssl://smtp.gmail.com"; // specify main and backup server
$mail->Port = 465; // set the port to use
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = "[email protected]"; // your SMTP username or your gmail username
$mail->Password = "mypasswrord"; // your SMTP password or your gmail password
$from = "[email protected]"; // Reply to this email
$to="[email protected]"; // Recipients email ID
$name="Jersey Name"; // Recipient's name
$mail->From = $from;
$mail->FromName = "Webmaster"; // Name to indicate where the email came from when the recepient received
$mail->AddAddress($to,$name);
$mail->AddReplyTo($from,"Webmaster");
$mail->WordWrap = 50; // set Word wrap
$mail->IsHTML(true); // send as HTML
$mail->Subject = "Sending Email From Php Using Gmail";
$mail->Body = "This Email Send through phpmailer, This is the HTML BODY "; //HTML Body
$mail->AltBody = "This is the body when user views in plain text format"; //Text Body
if(!$mail->Send())
{
echo "Mailer Error: " . $mail->ErrorInfo;
}
else
{
echo "Message has been sent";
}
?>

私はすでにphp.iniでsslを有効にしています。

PS> [email protected]は、プライバシーを保護するためのマスクメールです。しかし、私はその部分に本当のメールアドレスを入れました

12

php.iniで、次の行のコメントを外してください。

extension=php_openssl.dll
16
jerome

extension=php_openssl.dll

このリンク に記載されているこれらの指示に従ってください

私はテストしました、それは100%働いています。

2
Rana Sami Ullah

間違った:

$mail->Host = "ssl://smtp.gmail.com"; // specify main and backup server

良い:

$mail->Host = "smtp.gmail.com"; // specify main and backup server
0
macieq

から ここ

2)class.phpmailer.phpの次のコード行をコメント化します

/*
if(strstr($hosts[$index], ":"))
list($Host, $port) = explode(":",
$hosts[$index]); else 
*/

まだの場合は、お試しください。

0

このページ 作者が「完璧に機能した」と主張するコードがあります。

彼とあなたの間で私が目にする唯一の本当の違いは、彼が持っていることです:

$mail->Mailer = "smtp";

私は彼のコードから始めて、それが機能するかどうかを確認し、そこからデバッグすると思います。

0
Nemo