PHP SMTP自定义联系人形式

问题描述:

我有这样的形式,即发送罚款在当地,但是当我把它上传到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!"; 
    } 

} 
?> 

我已经和我的主人说过话了,他们说没有支持处理这些事情,但说我的港口和主机是正确的。

所以现在我很困惑。有什么明显的我失踪?

+1

邮件功能可以在您的托管服务提供商被阻止。联系他们的支持,以确保它不被阻止。 – Jer

+0

似乎我缺少$ mail-> IsSMTP();从我的SMTP配置部分。欢呼的链接。帮我找到了我的问题。 – ltjfansite

+0

不客气:-) _http://stackoverflow.com/questions/30648462/phpmailer-error-could-not-instantiate-mail-function_ – Jer

只是为了让你知道是否有人发现这一点,我的问题是我缺少$ mail-> IsSMTP();从我的配置。

的SMTP配置部分应该如下

<?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!"; 
    } 

} 
?>