繁体   English   中英

php - smtp 梨邮。php 包括

[英]php - smtp pear Mail.php include

这可能是一个简单的,但我现在很困惑。 我基本上使用我为之前的项目构建的相同框架并更改皮肤。

我试图测试 email function 但未能工作,这是错误:

警告:require_once() [function.require-once]:open_basedir 限制生效。 文件(../../../../php/Mail.php)不在允许的路径中:(/home/amatoita:/usr/lib/php:/usr/local/lib/ php:/tmp)

出于某种原因,我似乎不允许在这里?

所以我尝试了

/usr/lib/php/Mail.php

/home/amatoita/php/Mail.php

/usr/local/lib/php/Mail.php

这引发了以下错误:

在 /home/amatoita/php/Mail/mime.php 中打开所需的“Mail/mimePart.php”(include_path='.:/usr/lib/php:/usr/local/lib/php')失败

谁能看到我哪里出错了?

通过遵循Mark 的 Tech Stuff 博客中的 PEAR 安装说明,我能够解决此问题。

我的问题是 pear 的 Mail 模块不包含在标准的 Fedora 安装中。

然后我使用了 PEAR 网站上的一些代码。

<?php

include 'Mail.php';
include 'Mail/mime.php' ;

$text = 'Text version of email';
$html = '<html><body>HTML version of email</body></html>';
$file = '/home/richard/example.php';
$crlf = "\n";
$hdrs = array(
          'From'    => 'you@yourdomain.com',
          'Subject' => 'Test mime message'
          );

$mime = new Mail_mime(array('eol' => $crlf));

$mime->setTXTBody($text);
$mime->setHTMLBody($html);
$mime->addAttachment($file, 'text/plain');

$body = $mime->get();
$hdrs = $mime->headers($hdrs);

$mail =& Mail::factory('mail');
$mail->send('postmaster@localhost', $hdrs, $body);

?>

现在我的 email 被发送到 HTML 就好了。 希望对您有所帮助。

您需要将 package 安装在 include_path 中列出的目录之一中。 这意味着(很可能),您希望它是:

/home/amatoita/php/Mail.php

并有 mimePart.php 在

/home/amatoita/php/Mail/mimepart.php

暂无
暂无

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

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