0

そのため、PHPMailer を使用して Web サイトのメールフォームを処理しようとしています。

私が見つけたチュートリアルに基づいて、ここにコードを書きました。

<?php
        error_reporting(E_ALL);
        require_once("class.phpmailer.php");
        include("class.smtp.php");

        $email = new PHPMailer();

        //
        // Set server details for send
        //
        $email->IsSMTP();
        $email->Host = "mail.loganyoung.za.net";
        $email->Port = 25;
        $email-SMTPAuth = true;
        $email->Username = "<my email>";
        $email->Password = "<my password>";

        //
        // Send mail from the contact form
        //
        $to = "<my email>";
        $from = $_POST["from"];
        $name = $_POST["name"];
        $subject = "From web: ".$_POST["subject"];
        $message = $_POST["message"];

        $body = "<p>Hi Logan,</p>";
        $body .= "<p>You have received a new query on your website.<br />Please see below:</p>";
        $body .= "<p>";
        $body .= str_replace("\r\n", "<br />", $message);
        $body .= "</p>";

        $email->SetFrom($from, $name);
        $email->AddReplyTo($from, $name);
        $email->AddAddress($to, "LoganYoung.za.net");
        $email->Subject = $subject;
        $email->Body = $body;
        $email->IsHTML = true;

        session_start();
        if(!$email->Send()) {          
                $_SESSION["mailresult"] = "success";
                echo "success";
        } else {
                echo "<p>Failed:</p><p>".$email->ErrorInfo."</p>";
                $_SESSION["mailresult"] = "failed";
                $_SESSION["mailerror"] = $email->ErrorInfo;
        }

?>

送信されない理由として考えられるのは...

  • SMTP の詳細が正しくありません (解決するために SMTP 認証なしで送信する可能性がありますか?)
  • ハンドラーが POST データを取得していません (データを送信する ajax は正常に動作しているようです)
  • このコードには、特定できない問題があります...

可能性を排除する手段として、誰かがここのコードに何か問題があることを見つけることができますか? もしそうなら、何が問題で、どうすれば修正できますか?

前もって感謝します!

4

1 に答える 1

1
$email-SMTPAuth = true;

それはあるはずではありません:

$email->SMTPAuth = true;
于 2013-10-30T21:52:30.700 に答える