Sendmail 如果从终端调用,则php mail()不工作
我想做一份小时事通讯。要发送电子邮件,我想用shell_exec()调用sender脚本 什么也没发生。如果在发送之前输出这些参数,则mail()函数将返回true并正确设置所有参数 我还检查了/var/log/mail*,但没有产生任何错误 我试着用相对路径和绝对路径调用脚本。两者都不起作用 我现在被卡住了,因为mail()函数只有在从终端调用时才起作用,否则一切看起来都很好 我正在使用sendmail发送电子邮件 我怎样才能解决这个问题Sendmail 如果从终端调用,则php mail()不工作,sendmail,php,Sendmail,Php,我想做一份小时事通讯。要发送电子邮件,我想用shell_exec()调用sender脚本 什么也没发生。如果在发送之前输出这些参数,则mail()函数将返回true并正确设置所有参数 我还检查了/var/log/mail*,但没有产生任何错误 我试着用相对路径和绝对路径调用脚本。两者都不起作用 我现在被卡住了,因为mail()函数只有在从终端调用时才起作用,否则一切看起来都很好 我正在使用sendmail发送电子邮件 我怎样才能解决这个问题 谢谢:)从命令行使用PHP时,通常可以使用不同的PHP
谢谢:)从命令行使用PHP时,通常可以使用不同的PHP.ini文件。此CLI php.ini文件可能未配置邮件设置
从命令行中使用
php-i
,找出php正在使用的ini文件,然后检查该文件中的邮件设置,特别是与普通的apache php.ini文件(可以通过在脚本中粘贴
并将其加载到浏览器中找到)进行比较。我认为cli模式缺少一些配置。
比较从cli和Web服务器加载的php.ini
ini_set ( "SMTP", "smtp-server.example.com" );
date_default_timezone_set('America/New_York');
还可以帮助检查PHP邮件配置:
[邮件功能]代码>
仅适用于Win32。
SMTP=localhost
smtp\u端口=25
仅适用于Win32。
sendmail\u from=me@example.com
仅适用于Unix。您也可以提供参数(默认值:“sendmail-t-i”)。
sendmail\u路径=
php send_mail.php
ini_set ( "SMTP", "smtp-server.example.com" );
date_default_timezone_set('America/New_York');