我刚刚开始使用我自己的虚拟服务器(和 Linux)。我有一个 apache2 和一些 WordPress 网站。我需要通过 PHP 发送邮件(联系表格)。我在一些教程的帮助下成功安装了 ssmtp。它使用 Gmail 帐户发送邮件。我不确定 ssmtp.conf 的正确权限:
当我chmod 600 /etc/ssmtp/ssmtp.conf
无法从命令行发送邮件时,php-contact 表单也不起作用。
当我chmod 640 /etc/ssmtp/ssmtp.conf
可以从命令行发送邮件时,但 php-contact 表单不起作用。
当我chmod 666 /etc/ssmtp/ssmtp.conf
无法从命令行发送邮件时,php-contact 表单工作正常。
显然我想继续使用 666,但我不确定这是否会成为安全问题。
答案1
您的 Gmail 密码似乎存在于配置文件中,因此您希望第三个数字为 0(对其他人无权限)。理想是640
.您可以更改配置文件的所有权(使用命令chown
),例如chown root:mail /etc/ssmtp/ssmtp.conf
。
sudo
您可以使用或 作为 root从命令行发送。您的网络服务器用户还需要是组的成员mail
。或者,root:www-data
如果 Web 服务器的用户组是www-data
,则可以将其更改为。