首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sendmail不工作于php和nginx

sendmail不工作于php和nginx
EN

Stack Overflow用户
提问于 2020-10-16 19:42:27
回答 1查看 840关注 0票数 0

我在Ubuntu16.04上使用nginx和php 7.4运行多站点设置。所有的网站都是彩色的,一切都像魅力一样运行。除了邮件()通过sendmail。(php版本在这里并不重要,我从7.1开始就一直在努力解决这个问题)。

Sendmail和postfix正在运行和配置。这条线发送一封电子邮件。

代码语言:javascript
复制
echo "Subject: sendmail test" | /sbin/sendmail -t -i root@example.com

通过PHP尝试“相同”是行不通的:

代码语言:javascript
复制
mail("foobar@gmail.com","Testing","It's a test.", "root@example.com");

不管用。mail()返回false。邮件日志(/var/ log /mail.log)仍然是空的。我为sendmail配置日志

代码语言:javascript
复制
php_value[mail.log] = /logs/mail.log

这个日志显示了调用。

16-2020年10月21日:17:46欧洲/柏林邮件() on /htdocs/mail.php:8: To: foobar@gmail.com -标头: root@example.com -主题:测试

我还安装了最新版本的mini_sendmail (https://acme.com/software/mini_sendmail/),因为我意识到sendmail需要十几个文件,而我必须将这些文件挂载到我的彩色文件夹中。因此,我下载了mini_sendmail,将其重命名为sendmail,并将其放入mini_sendmail文件夹中。

使用php、php-cgi从命令行运行该脚本也是有效的:

代码语言:javascript
复制
php-cgi mail.php
php-cgi mail.php

phpinfo()还显示了所有的配置(sendmail-path)。shell-exec和exec是允许的函数。/bin/sh也在chroot监狱里。一切似乎都很好。

有什么想法吗,我在这里错过了什么?我甚至没有收到错误信息,这可能对我有帮助。

EN

回答 1

Stack Overflow用户

发布于 2021-01-10 09:06:56

这里的centos 7,nginx 1.18,php 7.4也是如此。

从PHP应用程序(mantisbt)发送邮件-什么都没有发生,所有服务器日志都是空的(nginx error.log,php-fpm error.log,maillog,messages,selinux审计,.)

从命令行发送的邮件运行良好:

代码语言:javascript
复制
php -r'mail("user@domain.tld", "Subject", "Body");'

解出

我们最终发现,一个无效的发件人电子邮件地址(从:)造成了麻烦。固定地址后,一切正常。

一些有用的链接:

PHP mail function not working on Centos server https://www.mantisbt.org/forums/viewtopic.php?f=3&t=15398

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64395448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档