【发布时间】:2014-01-05 00:32:52
【问题描述】:
我尝试使用 pear 发送电子邮件。这是我的代码
<?php
require_once "/usr/share/pear/Mail.php";
require_once "/usr/share/pear/Mail/mime.php";
$to = "Info <info@mydomain.com>";
$subject = "Contact Form - mydomain.com\r\n\r\n";
$host = "smtp.zoho.com";
$username = "noreply@mydomain.com";
$password = "abc@123";
$port = "465";
//Sender Details
$sender_name = $_POST['name'];
$from = $_POST['name']." <".$_POST['email'].">";
$sender_phone = $_POST['phone'];
//Create Message
$body = $_POST['message'];
//$body = wordwrap($body, 70, "\r\n");
$body = $body . "\r\n" . "Phone: " .$sender_phone;
if($sender_name != "" && $_POST['email'] != "" && $body != "" && $sender_phone != "")
{
$headers = array ('From' => $from,
'To' => $to,
'Subject' => $subject,
'Reply-To: ' => $from);
$smtp = Mail::factory('smtp',
array ('host' => $host,
'port' => $port,
'auth' => true,
'username' => $username,
'password' => $password));
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
echo("<p>" . $mail->getMessage() . "</p>");
} else {
header("Location:contact-us.php?mcode=1");
}
}
else
{
header("Location:contact-us.php?mcode=2");
}
?>
现在这段代码在浏览器中给了我以下错误:
当我检查我的 php error_log 时,我发现了这个:
我正在使用带有 Zoho 电子邮件系统的 Rackspace 云。
当我这样做时:
[root@mydomain /]# find -name Mail.php
./usr/share/pear/Mail.php
这就是为什么我直接将它包含在 php 文件中,
当我这样做的时候,
[root@mydomain /]# find -name mime.php
./usr/share/pear/Mail/mime.php
所以我使用了require_once "/usr/share/pear/Mail/mime.php",但是这是在一个例子中,我不太清楚我为什么使用这条线。
这可能是什么原因,我该如何解决?
【问题讨论】:
-
我可以看看你的表单html代码吗? php 没有从提交的表单中获取 post 值
-
@crack 页面获取数据,当我删除
require_once "/usr/share/pear/Mail.php";require_once "/usr/share/pear/Mail/mime.php";它回显一切正常 -
Chrome 加载器也会旋转几分钟,然后出现这个 chrome 错误,[有问题的屏幕截图]
-
通常 "/usr/share/pear/Mail.php" 这不应该对 www-data 或 apache2 用户具有访问权限。实际上你不需要使用这个
require_once "/usr/share/pear/Mail.php"; require_once "/usr/share/pear/Mail/mime.php";来发送电子邮件。您只需要安装 postfix(邮件服务器)和邮件功能即可发送电子邮件。如果您想使用 stml,那么我建议您使用 phpmailer。无需这些必需文件即可使用 -
Django - 这是您在 PHP 代码引发 SegFaults 的地方发布的第二个问题。显然,您的服务器/安装有问题。可能值得重建并重新部署以获得全新的状态。
标签: php email smtp pear rackspace-cloud