php - 如何使用没有 SMTP 的 phpmailer 修复“无法实例化邮件功能”错误
问题描述
我正在使用没有 SMTP 的 phpmailer 从我托管在 namecheap 的网站发送电子邮件。代码如下所示。我收到错误“无法实例化邮件功能”。我在这里读了很多帖子,但我无法解决我的问题。需要帮助,谢谢
我试过使用
$mail->From = $email;
$mail->FromName = $name;
而不是,$mail->SetFrom($email, $name);
反之亦然。也有和没有$mail->addReplyTo()
功能。
<?php
require 'phpmailer/PHPMailerAutoload.php';
if ($_SERVER['REQUEST_METHOD'] == "POST") {
$mail = new PHPMailer();
$mail->SMTPDebug = 1; //for debugging
$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$name = $_POST['name'];
$date = $_POST['date'];
$no_of_people = $_POST['NoOfPerson'];
$package = $_POST['select-package'];
$comment = $_POST['comment'];
//$mail->SetFrom($email, $name);
$mail->From = $email;
$mail->FromName = $name;
$mail->addAddress("umarsattar1989@hotmail.com"); //Recipient Email
//$mail->addReplyTo($email, "Reply");
$Message = "Some Text Here";
$mail->Subject = "Inquiry about ".$package." Package";
$mail->Body = $Message;
if(!$mail->send()) {
$result = "Mailer Error: " . $mail->ErrorInfo;
} //if closing
else
{
$result = "Message has been sent successfully";
} //else closing
} //main if closing
“邮件程序错误:无法实例化邮件功能。” $result
正在以变量形式打印
解决方案
使用 mail() 时,需要安装本地邮件服务器。如果你不这样做,这就是你得到的错误。
您目前没有使用 SMTP,因为您还没有调用isSMTP()
.
所以解决办法是安装一个邮件服务器。
或者,使用 SMTP 通过远程服务器发送。