如果使用 SendGrid API,则禁用 PHP mail() 函数
Posted
技术标签:
【中文标题】如果使用 SendGrid API,则禁用 PHP mail() 函数【英文标题】:Disable PHP mail() function if using SendGrid API 【发布时间】:2022-01-23 10:01:58 【问题描述】:我正在使用带有 SendGrid Extension 的 MediaWiki,但 MediaWiki 似乎使用的是 php mail()
和/或 SMTP,即 sendmail 或 postfix MTA。我已经将 MediaWiki 设置为使用 SendGrid RESTful API。我没有使用 SMTP。
我通过 SendGrid 收到来自 MediaWiki 的电子邮件正常,但 MediaWiki 仍然显示 PHP 邮件错误。
【问题讨论】:
【参考方案1】:@TimD,
不确定您在哪个操作系统上运行 MediaWiki,以下可能的提示可以检查是否可以解决问题。
您可以通过查看服务器邮件状态getsebool -a | grep 邮件
这个命令可以给你一个“on”或“off”的响应
好吧,如果您看到响应为 allow_postfix_local_write_mail_spool --> off ,然后尝试使用以下命令将其设置为 onsetsebool -P httpd_can_sendmail on
这将在您的服务器操作系统中将邮件选项设置为“开启”
【讨论】:
我使用的是 Ubuntu,但 MediaWiki 不应该使用 PHP 邮件,即 sendmail 或 postfix MTA。我已经将 MediaWiki 设置为使用 SendGrid RESTful API——而不是 SMTP 好的,但这意味着您需要从源代码中删除/提交 mail() 函数,因为您不想启用操作系统邮件..! 我宁愿在破解 MW 核心之前切换到使用 SendGrid SMTP 中继——这就是我们有扩展的原因以上是关于如果使用 SendGrid API,则禁用 PHP mail() 函数的主要内容,如果未能解决你的问题,请参考以下文章
使用 SendGrid PHP(sendgrid-php 库)发送文件附件
如果电子邮件已使用 jquery 在 php 中注册,则禁用提交按钮 [重复]