PHPMailer を使用して SMTP 経由で電子メールを送信しようとしていますが、これまでのところうまくいきません。私は多くの SO の質問、PHPMailer のチュートリアル、フォーラムの投稿を調べましたが、まだ機能しません。時間を節約するために、失敗した試みをできるだけ多く記録しますが、最初に、使用しているコードを次に示します。
<?php
session_start();
error_reporting(E_ALL);
ini_set('display_errors','On');
require('includes/class.phpmailer.php');
include('includes/class.smtp.php');
$mail = new PHPMailer();
$name = $_POST["name"];
$guests = $_POST["guests"];
$time = $_POST["time"];
$message = "<h1>".$name." has booked a table for ".$guests." at ".$time."</h1>";
$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host = "ssl://smtp.gmail.com"; // SMTP server
$mail->SMTPDebug = 1; // enables SMTP debug information (for testing)
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->Port = 26; // set the SMTP port for the GMAIL server
$mail->Username = "myEmail@gmail.com"; // SMTP account username
$mail->Password = "myPassword"; // SMTP account password
$mail->SetFrom('myEmail@gmail.com', 'James Cushing');
$mail->AddReplyTo("myEmail@gmail.com","James Cushing");
$mail->Subject = "PHPMailer Test Subject via smtp, basic with authentication";
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!";
$mail->MsgHTML($message)
$address = "myOtherEmail@me.com";
$mail->AddAddress($address, "James Cushing");
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
?>
まず、このコードを実行すると、2 つの異なるエラーが発生します。ローカル サーバーで次のエラーが表示されます:
SMTP -> ERROR: Failed to connect to server: Operation timed out (60)
The following From address failed: myEmail@gmail.com : Called Mail() without being connected
Mailer Error: The following From アドレスが失敗しました: myEmail@gmail.com : 接続せずに Mail() を呼び出しました
Web サーバーで同じコードを実行すると、さらに同じエラーが発生しますが、最初の行は次のとおりです:
SMTP -> ERROR: Failed to connect to server: Network is unreachable (101)
明らかに、文字通りの "myEmail@gmail.com" を使用していないことは指摘しておく価値がありますが、この投稿では自分のメール アドレスを代用しています。
私が試したこと
- iCloud SMTPサーバー
を使用する - 別のポートを使用する
- php.iniファイルでOpenSSL拡張機能を有効にする
- さまざまなPHPMailerの例からコードをコピーする
- Googleの「DisplayUnlockCaptcha」システムを使用して接続を有効にする
- 異なるものとの間で送信するアドレス - Username プロパティから "@gmail.com" を削除する - 覚えていない他の多くのこと
これは私を約1日怒らせているので、誰かがそれを解決できれば、彼らはヒーローになります.
ありがとう