Skip to content

OpenBSD上的PHP邮件发送问题

OpenBSD上的自带的Apache由于chroot的缘故,会导致PHP的mail函数失效,而且PHP也不会返回错误。很难排错。

下面是解决这个问题的一个大致的流程,供在OpenBSD上遇到邮件问题的用户参考:

1. 首先确保在命令行下直接用mail命令发送邮件没有问题。如果命令行下都无法发送邮件,说明MTA有问题,解决了这个问题以后来解决 CHROOT APACHE + PHP的问题。

2. 在/var/www/目录下创建etc目录,并将/etc/resolv.conf文件复制到其下

3. 在/var/www/目录下创建bin目录,并将/bin/ksh和/bin/sh复制到其下

4. 安装femail-chroot (如果你不知道如何在OpenBSD上安装软件,google一下pkg_add openbsd)

5. 修改php配置文件(在OpenBSD 5.1 + php-5.3.10的情况下,php 配置文件为/etc/php-5.3.ini),在[mail  function]一节下,修改sendmail_path参数如下

[mail function]

; For Unix only. You may supply arguments as well (default: “sendmail -t -i”).
; http://php.net/sendmail-path
sendmail_path = /bin/femail -t -i

6. 重启APACHE,测试邮件发送是否已经OK

Avatar

专业Linux/Unix/Windows系统管理员,开源技术爱好者。对操作系统底层技术,TCP/IP协议栈以及信息系统安全有强烈兴趣。电脑技术之外,则喜欢书法,古典诗词,数码摄影和背包行。

No comments yet.

Leave a Reply

SidebarComments (0)