1

でメールを送信しようとしていますPHP。ローカルホストとサーバーに同じコードを使用します。しかし、サーバーでコードを使用すると、機能しないようです。

SMTP Error: Could not authenticate. Message was not sent.Mailer error: SMTP Error: Could not authenticate.  

これが参考のための私のコードです。

require("class.phpmailer.php"); // path to the PHPMailer class

$mail = new PHPMailer();

$mail->IsSMTP(); // telling the class to use SMTP
$mail->Mailer = "smtp";
$mail->Host = "ssl://smtp.gmail.com";
$mail->Port = 465;
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = "myname"; // SMTP username
$mail->Password = "password"; // SMTP password

$mail->From = "me@gmail.com";
$mail->AddAddress("sample@gmail.com");

$mail->Subject = "First PHPMailer Message";
$mail->Body = "Hi! \n\n This is my first e-mail sent through PHPMailer.";
$mail->WordWrap = 50;

if(!$mail->Send()) {
echo 'Message was not sent.';
echo 'Mailer error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent.';
}

私はたくさんの検索をしましたが、何もポップアップしません。どんな助けでも大歓迎です。

4

5 に答える 5

1

TLS とポート 587 を試します。

$mail->SMTPSecure = "tls";
$mail->Host       = "smtp.gmail.com";
$mail->Port       = 587;

ご覧のとおり、SMTPSecure 変数で SSL 接続を指定し、ホストを smtp.gmail.com として使用することもできます。

$mail->IsSMTP();これもこれに置き換えてみてください$mail->Mailer = "smtp";

于 2012-10-09T08:48:05.600 に答える
0

これをチェックしてみてください。役立つかもしれません:
smtp接続のtelnetが機能しているかどうか?Windows 7 ファイアウォールでは、smtp 接続がブロックされている (デフォルト) ため、 http://support.microsoft.com/kb/153119

于 2012-10-09T08:24:32.600 に答える
0

パスワードに特殊文字が含まれているために発生します。のような特殊文字の前に「\」を使用してみPassword="djgh\^dfgfjk".ましたが、役に立ちませんでした。
特殊文字を使用せずに新しい ID と単純なパスワードを作成するだけで、驚くほどうまくいきます。
特殊文字を含まないパスワードを使用してください。

于 2012-10-10T07:25:06.500 に答える
0

さまざまな理由で発生する可能性があります。私の場合、から変更することで機能しました

$phpmailer->isSMTP();

$phpmailer->Mailer     = 'smtp';

働きました。

于 2017-11-21T11:13:02.520 に答える