【问题标题】:php mail() function : has been disabled for security reasonsphp mail() 功能:出于安全原因已禁用
【发布时间】:2015-02-18 11:02:33
【问题描述】:

根据我的previous question,我没有收到任何电子邮件。然后,我尝试在 http://writecodeonline.com/ 上运行它。

最后我收到了警告通知 (check here)。这就是我没有收到任何电子邮件的问题吗?

【问题讨论】:

标签: php email


【解决方案1】:

php.ini 中有disable_functions 的设置,服务器管理员可以在其中放置出于安全目的而要禁用的命令/操作。所以可能 mail() 函数已经进入了那个..请检查您的 php.ini 以了解此设置..例如disable_functions=popen,exec,system,passthru,proc_open,shell_exec,show_source,phpinfo,mail

【讨论】:

  • 我找到了,那我该怎么办?
  • 您必须从中删除邮件命令..它可能需要root权限才能对php.ini进行更改..所以如果您在本地服务器(共享服务器)上对php.ini进行任何更改不会反映,因为它被 root 用户 php.ini 覆盖。需要联系 root 用户来执行此操作。
【解决方案2】:

该网站之所以这么说,是因为他们在 php.ini 文件中禁用了该方法。但是,如果你想让mail() 方法工作,你必须设置它。

但是,我在 StackOverflow 上为您找到了答案。您可以按照它来完成任务。 Setting up mail server in pc

【讨论】:

  • 这是我的 php.ini 设置 [邮件功能] ;仅适用于 Win32。 ; php.net/smtp SMTP = smtp.gmail.com; php.net/smtp-portsmtp_port = 25 ;仅适用于 Win32。 ; php.net/sendmail-fromsendmail_from = henrikus.antony@gmail.com;仅适用于 Unix。您也可以提供参数(默认值:“sendmail -t -i”)。 ; php.net/sendmail-path sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t" 但我还是没有收到任何电子邮件
  • 如果您在本地主机上执行此操作,我认为它不起作用,因为即使我之前也尝试过。但是,尝试在实际主机上执行此操作,它应该可以工作。
  • 但我需要通过 localhost 发送。你有什么方法吗?
  • 我尝试过但从未成功过。但是,我的脚本倾向于在 Web 主机上运行。这可能是因为我们本地服务器中的邮件配置错误。
  • phpmailer怎么样?我也用过,但结果是一样的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-19
  • 2013-06-30
  • 2016-02-07
  • 2019-11-27
  • 1970-01-01
  • 2014-03-31
  • 1970-01-01
相关资源
最近更新 更多