前提・実現したいこと
めちゃくちゃ初心者です。
PHPMailerを使ってお問い合わせフォームを作りましたが、
うまくいきません。
ちなみにロリポップのメールを利用したいです。
発生している問題・エラーメッセージ
504 Gateway Time-out
ずーっと待った後、タイムアウトになりました。
<?php use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; include 'PHPMailer/src/Exception.php'; include 'PHPMailer/src/PHPMailer.php'; include 'PHPMailer/src/SMTP.php'; $mail = new PHPMailer(true); //ここまでコピペ //ここから直接入力 $namae = $_POST['namae']; $company = $_POST['company']; $phone = $_POST['phone']; $email = $_POST['youremail']; $discription= $_POST['discription']; $to = "受信のメールアドレス"; $subject = "ホームページよりお問合せがあります"; $message =$company." \r\n" .$namae."様からお問合せがきています。\r\n".$discription." \r\n".$phone; $headers = "From: form@example.com"; //ここからコピペ try { //Gmail 認証情報 $host = 'smtp.lolipop.jp'; $username = 'ロリポップのメールアドレス'; // example@gmail.com $password = 'パスワード'; //差出人 $fromname = 'HOMEPAGE'; //宛先 $toname = $namae; //件名・本文 $body = $message; //メール設定 $mail->SMTPDebug = 0; //デバッグ用 $mail->isSMTP(); $mail->SMTPAuth = true; $mail->Host = $host; $mail->Username = $username; $mail->Password = $password; $mail->SMTPSecure = 'tls'; $mail->Port = 587; $mail->CharSet = "utf-8"; $mail->Encoding = "base64"; $mail->setFrom($email, $fromname); $mail->addAddress($to, $toname); $mail->Subject = $subject; $mail->Body = $body."\r\n".$email; //メール送信 $mail->send(); header('Location: index.html'); exit; } catch (Exception $e) { echo '失敗: ', $mail->ErrorInfo; } ?>### 試したこと port番号をいろいろ変えたり、経由のメールアドレスを変えてみたりしました。 。
$mail->send()はtrueを返しているのでしょうか?また、送信後のステータスはどうなってますか?
コードはマークダウンのcodeにてご提示ください
FKM様 送信後は504 Gateway Time-outの表示が出てきます。ロリポップのメールではなく、gmailにて試した事がありますが、ローカル環境ではうまく作動しましたが、サーバー上ではエラーになり、失敗: SMTP Error: Could not authenticate.と表示されました。ちなみに、グーグルのセキュリティを下げてもダメでした。。
マークダウンのコード難しい方は下記の質問など参考に。
https://teratail.com/questions/238564
サーバーのエラーログも確認してみてください。
SMTP Error: Could not authenticateで検索したら、色々出てきましたがそれらも試されましたか?
あなたの回答
tips
プレビュー