我在DigitalOcean上使用Dokku部署了一个PHP网站。这是一个非常简单的网站,里面有联系表格。但是,无法发送表单,因为显然PHP mail()
函数不起作用。
我在服务器计算机上安装了sendmail
,我可以在命令行上发送带有sendmail
的电子邮件。我按照这里的说明进行了操作:
但我一直收到这个错误:
-bash:export:`/ usr / sbin / sendmail:/ usr / local / sbin:/ usr / local / bin:/ usr / sbin:/ usr / bin:/ sbin:/ bin:/ usr / games :/ usr / local / games':不是有效的标识符
在这里回答第三个问题与我的问题相同(https://www.digitalocean.com/community/questions/php-mail-function-enable);我安装了postfix
,我试图在服务器上更改php.ini
文件(位于/ etc / php5 / cli /中的奇怪路径)。我完全不确定php.ini
文件是dokku在编译应用程序时使用的文件。
我找不到关于这个问题的任何其他文件,我真的很感谢你的帮助。
答案 0 :(得分:0)
除了@MarcB对评论的明智建议确实使用适当的邮件客户端,如phpMailer或SwiftMailer ,你可以通过运行 {轻松调试你的php值{1}} 强>
具体查找:
- sendmail_path
您还可以通过查看以下内容来微调它的某些方面: - mail.add_x_header - mail.force_extra_parameters - mail.log - sendmail_from
根据所描述的错误,检查文件phpinfo()
并清理你放在那里的任何内容。您似乎已将变量形式~/.bashrc
中的PATH
作为$PATH
进行了预测。
应该有类似export PATH=...