如果使用 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 ,然后尝试使用以下命令将其设置为 on

setsebool -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 中注册,则禁用提交按钮 [重复]

有没有办法只使用 sendgrid API 来构建完整的 sendgrid 订阅表单?

无法使用 sendgrid api 发送附件

自动安装后创建SendGrid API密钥

将 MailChimp 与 SendGrid 一起使用