mail: failed to open stream: Permission denied?

て烟熏妆下的殇ゞ 提交于 2019-11-29 02:45:54
Packet Tracer

The problem is that the webserver user is not able to write and/or read the mail log file. For a propper configuration:

1) create the folder and the file for the email logging. For example:

touch /var/log/php5/mail.log

2) set the logging file in php.ini:

mail.log = /var/log/php5/mail.log

3) set the owner and the group for that folder/file in case needed:

check the owner and the group with

ls -la /var/log/php5

in case needed, change the group (change www-data for whatever your web server's group is)

sudo chgrp -R www-data /var/log/php5

in case needed, change the owner (change www-data for whatever your web server's user is)

sudo chown -R www-data /var/log/php5

Does it work if you simplify it?

 $mail_sent = mail('address@domain.com', 'subject', 'message');

If it does, then you know that mail works.

After that, I would remove the $eol stuff and see if that fixes it. If not, then I would remove the header block and keep removing stuff until it starts working.

It turns out to be a file permissions problems after all. But not in the scripts, but in the directory. I ran a chmod -R 777 * and the warning went of. upon further examination I found a file called 1, and this file contained a log of the sent mails. The warning was php telling me that he was unable to open this file

Solution:

 sudo chmod -R 755 *
 sudo chmod  777 1

F#$%^% cryptic php error messages

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!