管道发送电子邮件时使用MailParse


Using MailParse when piping email

我的MailParse有问题。

我安装了MailParse,但当我将电子邮件发送到我用来传输到脚本的地址时,我无法运行它。每次尝试运行时,我也会收到一封被退回的电子邮件

我已经尝试在php脚本的顶部使用以下hashbang。

#!/usr/bin/php -q
#!/usr/bin/php -c /path/to/php.ini
#!/usr/bin/php -c/path/to/php.ini
#!/usr/bin/php -qc/path/to/php.ini

为了测试MailParse是否正在加载,我会做这样的操作。

if(function_exists(mailparse_msg_create)) //do something
else (function_exists(mailparse_msg_create)) //do something else

当我在浏览器中执行脚本时,MailParse似乎可以工作,但当我向它发送电子邮件时就不行了。

此外,当我包含最后两个标签中的任何一个时,我会在邮件回复中得到这个。

Failed loading /usr/php/56/usr/lib64/php/modules/ZendGuardLoader.so:  /usr/php/56/usr/lib64/php/modules/ZendGuardLoader.so: undefined symbol: zend_new_interned_string
Failed loading /usr/php/56/usr/lib64/php/modules/opcache.so:  /usr/php/56/usr/lib64/php/modules/opcache.so: undefined symbol: zend_new_interned_string
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/php/56/usr/lib64/php/modules/imagick.so' - /usr/php/56/usr/lib64/php/modules/imagick.so: undefined symbol: zend_new_interned_string in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/php/56/usr/lib64/php/modules/pdo_mysql.so' - /usr/php/56/usr/lib64/php/modules/pdo_mysql.so: undefined symbol: mysqlnd_allocator in Unknown on line 0
PHP Warning:  PHP Startup: pdo_sqlite: Unable to initialize module
Module compiled with module API=20131226, debug=0, thread-safety=0
PHP    compiled with module API=20060613, debug=0, thread-safety=0
These options need to match
 in Unknown on line 0
PHP Warning:  PHP Startup: pdo_pgsql: Unable to initialize module
Module compiled with module API=20131226, debug=0, thread-safety=0
PHP    compiled with module API=20060613, debug=0, thread-safety=0

当我在脚本中使用在发送电子邮件时不调用MailParse函数的代码时,没有问题。当我发送电子邮件时,MailParse似乎不会加载。

我想明白了。我在hashbang中没有引用正确的php-cli二进制文件。我使用的是BlueHost和PHP 5.6,所以它应该是

#!/usr/php/56/bin/php-cgi