这是我的代码
$from = "Whatever<whatever@gmail.com>";
$to = "whatever<whatever@hotmail.com>";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";
$host = "ssl://smtp.gmail.com";
$port = "465";
$username = "whatever@gmail.com";
$password = "whatever";
$headers = array ('From' => $from,
'To' => $to,
'Subject' => $subject);
$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 {
echo("<p>Message successfully sent!</p>");
}
?>
我得到的错误是: 警告:require_once(PEAR.php)[function.require-once]:无法打开流:第46行/home/pedurc5m/php/Mail.php中没有此类文件或目录
致命错误:require_once()[function.require]:在第46行的/home/pedurc5m/php/Mail.php中打开所需的'PEAR.php'(include_path ='/ home / pedurc5m / php /')失败 我的共享主机Web服务器说
您的PHP扩展程序和应用程序的位置
路径:/ home / pedurc5m / php
为什么我收到错误? 我非常擅长PHP,感谢所有的帮助!
答案 0 :(得分:1)
这意味着PEAR.php不在此路径/ home / pedurc5m / php /
答案 1 :(得分:1)
看起来您没有安装PEAR或没有Mail模块。查看here了解如何在主机上设置PEAR。设置PEAR后,安装Mail模块,您的代码应该可以正常工作。 (在链接页面中向下滚动并查找“托管环境中的PEAR”)
答案 2 :(得分:1)
你能发布完整的剧本吗? (有你的要求和包括?)PHP找到依赖的方式是
1)它们在脚本的顶部显式声明 - 您需要的任何类/函数的完整路径
2)你的php.ini include_path设置 - 我认为在你的情况下应该是正确的。
3)通过__autoload
自定义类加载器