亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么 phpmailer 不向我的域郵件服務器發送郵件

為什么 phpmailer 不向我的域郵件服務器發送郵件

PHP
撒科打諢 2023-09-15 17:09:11
我正在嘗試將郵件發送到我的域郵件服務器:我使用了 try{} catch(){} 來檢測是否存在任何錯誤,但令人驚訝的是,沒有任何錯誤。<?php function Redirect_to($New_Location){    header("Location:" . $New_Location);    exit;}if(isset($_POST['Submitenq'])){    require('phpmailer/PHPMailerAutoload.php');    define ('GUSER','[email protected]');    define ('GPWD','mymailpass');    $recever1 = '[email protected]';    $enq_name = $_POST["enq_name"];    $enq_email = $_POST["enq_email"];    $enq_phone = $_POST["enq_phone"];    $enq_message = $_POST["enq_message"];    date_default_timezone_set("Asia/Kolkata");    $CurrentTime = time();    $DateTime = strftime("%B-%d-%Y %H:%M:%S",$CurrentTime);        if(empty($enq_name) || empty($enq_email) || empty($enq_phone) || empty($enq_message)){        Redirect_to("index.php?error=1");    }else{        $mail = new PHPMailer();        try{            $mail->IsSMTP();            $mail->Mailer = "smtp";                // $mail->SMTPDebug  = 2;             $mail->SMTPAuth   = TRUE;            $mail->SMTPSecure = "ssl";            $mail->Port       = 465;            $mail->Host       = "mail.supremecluster.com";            // $mail->CharSet   = "UTF-8";            $mail->Username   = GUSER;            $mail->Password   = GPWD;            $mail->isHTML(true);                 $mail->setFrom($enq_email,$enq_name);                $mail->addAddress($recever1);                      $mail->Subject = 'Enquery Mail from - '. $enq_name;              $mail->Body = '<table class="table" cellspacing="0">              <thead>                <tr>                    <th colspan="2">Enquery Mail from - '. $enq_name .'</th>                </tr>              </thead>它顯示電子郵件已成功發送,但我沒有收到任何郵件。我聯系了我的服務器幫助熱線,他們說某些 IP 被阻止了。但現在我已經從 CPanel 允許了這些 IP。但郵件仍然沒有發送我真的需要這方面的幫助:)感謝您抽出時間閱讀。
查看完整描述

3 回答

?
瀟瀟雨雨

TA貢獻1833條經驗 獲得超4個贊

PHPMailer 默認情況下不會拋出異常 - 您必須通過傳遞給構造函數來請求異常true,如$mail = new PHPMailer(true);.?如果沒有它,您必須檢查方法的返回值,例如send()確定它們是否有效。

錯誤存儲在ErrorInfo屬性中。

您還可以設置$mail->SMTPDebug = 2;查看郵件服務器的內容。


查看完整回答
反對 回復 2023-09-15
?
侃侃無極

TA貢獻2051條經驗 獲得超10個贊

轉到您的 Gmail 帳戶 -> 安全

找到“訪問不太安全的應用程序”。打開它并再次運行您的 PHP 文件。

郵件應該已發送。


查看完整回答
反對 回復 2023-09-15
?
POPMUISE

TA貢獻1765條經驗 獲得超5個贊

我的最終工作代碼是:


function Redirect_to($New_Location){

    header("Location:" . $New_Location);

    exit;

}

if(isset($_POST['Submitenq'])){

    require('phpmailer/PHPMailerAutoload.php');


    define ('GUSER','[email protected]');

    define ('GPWD','mailpass');


    $recever1 = '[email protected]';


    $enq_name = $_POST["enq_name"];

    $enq_email = $_POST["enq_email"];

    $enq_phone = $_POST["enq_phone"];

    $enq_message = $_POST["enq_message"];


    date_default_timezone_set("Asia/Kolkata");

    $CurrentTime = time();

    $DateTime = strftime("%B-%d-%Y %H:%M:%S",$CurrentTime);

    

    if(empty($enq_name) || empty($enq_email) || empty($enq_phone) || empty($enq_message)){

        Redirect_to("index.php?error=1");

    }else{

        $mail = new PHPMailer(true);

        try{

            $mail->IsSMTP();

            $mail->Mailer = "smtp";

                // $mail->SMTPDebug  = 2; 

            $mail->SMTPAuth   = TRUE;

            $mail->SMTPSecure = "none";

            $mail->Port       = 25;

            $mail->Host       = "mail.supremecluster.com";

            // $mail->CharSet   = "UTF-8";

            $mail->Username   = GUSER;

            $mail->Password   = GPWD;

            $mail->isHTML(true); 

            $mail->setFrom($enq_email,$enq_name);

            $mail->From = GUSER; 

            $mail->FromName = $enq_name;


            $mail->addAddress($recever1);

        

              $mail->Subject = 'Enquiry Mail from - '. $enq_name;

              $mail->Body = '<table class="table" cellspacing="0">

              <thead>

                <tr>

                    <th colspan="2">Enquiry Mail from - '. $enq_name .'</th>

                </tr>

              </thead>

              <tbody>

                <tr>

                    <td colspan="2">'. '<p>Dear Sir / Madam, I have some enquiries. My Details are as follows :</p></br>' .'</td>

                </tr>

                <tr>

                    <td>Email:</td>

                    <td>'. $enq_email .'</td>

                </tr>

                <tr>

                    <td>Phone No:</td>

                    <td>'. $enq_phone .'</td>

                </tr>

                <tr>

                    <td>Message:</td>

                    <td>'. $enq_message .'</td>

                </tr>

                <tr>

                    <td>Date and TIME of Enquery:</td>

                    <td>'. $DateTime .'</td>

                </tr>

              </tbody>

              </table>';

              

              $mail->send();

              $success_msg =  "Your Message Sent Successfully: ";

        }catch(phpmailerException $e){

            echo $e->errorMessage();

        }catch(Exception $e){

            echo $e->getMessage();

        }

我決定從我自己的服務器而不是 Gmail 服務器發送郵件:


所以我改變了:


$mail->SMTPSecure = "ssl";


$mail->SMTPSecure = "none";

最重要的是要記?。?/p>


$mail->Username   = GUSER;


$mail->From = GUSER;

必須相同



另外,我們必須將 true 傳遞給構造函數:


$mail = new PHPMailer(true)

// 構造函數中的參數 true 啟用異常


查看完整回答
反對 回復 2023-09-15
  • 3 回答
  • 0 關注
  • 146 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號