2016-09-26 11 views
1

は、私はローカル罰金送るこのフォームを、持っているが、私はHostgatorのにそれをアップロードするとき、私は次のエラーメッセージPHP SMTPカスタム問い合わせフォーム

Mailer Error: Could not instantiate mail function.

を取得し、私のPHPコードは

<?php 

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

    require 'PHPMailer/PHPMailerAutoload.php'; 

    // Send mail 
    $mail = new PHPMailer(); 

    // Data received from POST request 
    $name = stripcslashes($_POST['tbName']); 
    $emailAddr = stripcslashes($_POST['tbEmail']); 
    $company = stripcslashes($_POST['tbCompany']); 
    $comment = stripcslashes($_POST['taMessage']); 
    $subject = stripcslashes($_POST['tbSubject']); 

    // SMTP Configuration 
    $mail->SMTPAuth = true; 
    $mail->Host = "gator3209.hostgator.com"; // SMTP server 
    $mail->Username = "****@*****.com"; 
    $mail->Password = "***********"; 
    $mail->SMTPSecure = 'tls'; 
    $mail->Port = 25; 

    $mail->AddAddress('****@*****.com'); 
    $mail->From = "****@*****.com"; 
    $mail->FromName = "Website Contact Form - " . $name; 
    $mail->Subject = $subject; 

    $mail->Body = 'This is the HTML message body <b>in bold!</b>';  
    $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test 
    $mail->MsgHTML("Name:" . $name . "<br /><br />Email:" . $emailAddr. "<br /><br />Company:" . $company. "<br /><br />Subject:" . $subject. "<br /><br />" . $comment); 

    $message = NULL; 
    if(!$mail->Send()) { 
     $message = "Mailer Error: " . $mail->ErrorInfo; 
    } else { 
     $message = "Message sent!"; 
    } 

} 
?> 

であるI私のホストに話し、彼らはそこにこれらのことに対処するためにサポートしていないと言ったが、私のポートとホストは正しいと言いました。

だから私はかなり混乱しています。私は行方不明の何か明白ですか?

+1

を次のようにSMTPの設定セクションがなければなりません。サポートに問い合わせて、ブロックされていないことを確認してください。 – Jer

+0

私は$ mail-> IsSMTP()が見つからなかったようです。私のSMTP設定セクションから。リンクのための乾杯。私の問題を見つけるのを助けた。 – ltjfansite

+0

歓迎します:-) _http://stackoverflow.com/questions/30648462/phpmailer-error-could-not-instantiate-mail-function_ – Jer

答えて

0

誰かがこれを見つけたかどうかを知らせるだけで、私の問題は私が$ mail-> IsSMTP();私の設定から。

メール機能は、ホスティングプロバイダでブロックされることがあり

<?php 

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

    require 'PHPMailer/PHPMailerAutoload.php'; 

    // Send mail 
    $mail = new PHPMailer(); 

    // Data received from POST request 
    $name = stripcslashes($_POST['tbName']); 
    $emailAddr = stripcslashes($_POST['tbEmail']); 
    $company = stripcslashes($_POST['tbCompany']); 
    $comment = stripcslashes($_POST['taMessage']); 
    $subject = stripcslashes($_POST['tbSubject']); 

    // SMTP Configuration 
    $mail->SMTPAuth = true; 
    $mail->IsSMTP(); 
    $mail->Host = "gator3209.hostgator.com"; // SMTP server 
    $mail->Username = "****@*****.com"; 
    $mail->Password = "***********"; 
    $mail->SMTPSecure = 'tls'; 
    $mail->Port = 25; 

    $mail->AddAddress('****@*****.com'); 
    $mail->From = "****@*****.com"; 
    $mail->FromName = "Website Contact Form - " . $name; 
    $mail->Subject = $subject; 

    $mail->Body = 'This is the HTML message body <b>in bold!</b>';  
    $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test 
    $mail->MsgHTML("Name:" . $name . "<br /><br />Email:" . $emailAddr. "<br /><br />Company:" . $company. "<br /><br />Subject:" . $subject. "<br /><br />" . $comment); 

    $message = NULL; 
    if(!$mail->Send()) { 
     $message = "Mailer Error: " . $mail->ErrorInfo; 
    } else { 
     $message = "Message sent!"; 
    } 

} 
?> 
関連する問題