繁体   English   中英

在PHP中使用Pear发送邮件时出现问题

[英]Problem sending mail with Pear in PHP

我用php写了电子邮件联系表格。 我正在使用Pear Mail软件包发送电子邮件。 它可以在我的开发计算机上很好地工作,但不能在服务器上工作。 这是代码:

//////////////////////////////////////////////////
// EMAIL OPTIONS
//////////////////////////////////////////////////
$to = "name@domain.com";              
$subject = "Contact Form Submission";           
$smtphost = "localhost";
$port = "25";
$authenticate = false;
$username = "smtp_username";
$password = "smtp_password";

// create and send the email
$from = $_POST['fullname'] . " <" . $_POST['email'] . ">";
$body = str_replace($ph, $rv, $emailTemplate);

$headers = array (
    'MIME-Version' => '1.0',
    'Content-type' => 'text/html; charset=iso-8859-1',
    'From' => $from,
    'To' => $to,
    'Subject' => $subject);

$smtp = Mail::factory('smtp',
  array ('host' => $smtphost,
    'port' => $port,
    'auth' => $authenticate,
    'username' => $username,
    'password' => $password));

$mail = $smtp->send($to, $headers, $body);

$error = PEAR::isError($mail);

if ($error){
    echo 'An error occurred.';
}
else {
    require('thanks.php');
    exit;
}

我不知道为什么它在服务器上失败。 如何从$ error对象中获取更多有用的信息?

回显$ error结果与

1

看看http://pear.php.net/manual/en/core.pear.pear-error.php并执行以下操作:

if ($error){
    echo 'An error occurred.';
    echo $error->getMessage(), "\n";
}
else {
    require('thanks.php');
    exit;
}

尝试$smtphost = "localhost"; 到您的服务器域网址

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM