我可以使用带有 SendGrid smtp 中继的 php 邮件功能发送电子邮件吗?

我可以使用带有 SendGrid smtp 中继的 php 邮件功能发送电子邮件吗?

我一直在尝试使用 PHP 邮件功能从我的应用程序发送电子邮件。我目前托管在 DigitalOcean,我发送电子邮件的唯一方法是使用 SendGrid 之类的服务。

我已根据他们的集成指南完成了所有操作,但我仍然不知道它是如何工作的。

我可以使用 PHPmail()函数发送电子邮件吗?

以下是我迄今为止所做的……

  1. 更新 CNAME 记录以匹配 SendGrid 的记录。
  2. 确认记录已设置。
  3. 我已经验证了我的域名。
  4. 我已使用 Outlook 发送了一封电子邮件。

我可以用 Outlook 发送电子邮件,但无法从应用程序发送电子邮件。我真的不明白这是怎么回事?

发送电子邮件之前我需要更新哪些记录?我必须使用 SendGrid API 发送电子邮件吗?还是只需使用 PHPmail()函数即可?

顺便说一下,我的服务器上安装了 cPanel,它负责处理我发送和接收的电子邮件

答案1

phpmail() Linux 和类似 Unix 系统上的功能使用系统sendmail命令作为邮件界面。

要使该 sendmail 命令使用 Sendgrid(或其他服务),意味着需要配置系统 SMTP 服务。典型的 smtp 服务器例如 postfix、exim 和受人尊敬的 sendmail 本身。当您的服务器托管电子邮件域时,这可能不是最佳解决方案。

或者安装邮件传输协议这比传统的成熟 smtp 服务器更容易配置,并且调整sendmail_path在 php.ini 配置文件中使用 ssmtp

答案2

按照 SendGrid 手册中提供的文档,最好使用带有 cURL 或 SMTPAPI 标头的 PHP 发送电子邮件。

网址:SendGrid PHP 代码示例

因此它总是会进入收件人的收件箱。

相关内容