我有一个部署在 Heroku 上的 php 应用程序。如何让 PEAR 邮件包适用于我的应用程序?我看到两个主要选项:1)在 heroku 上安装 pear 邮件包 2)在部署之前将包捆绑到我的应用程序中
不幸的是,我更像是一个铁路人,所以不知道如何做这些(或者哪个是正确的)。
谢谢,安东尼
好的,我终于自己弄清楚了。这是我所做的:
1.你需要使用一个自定义的 buildpack 来安装 pear 包 mail 和 Net_SMTP。您可以通过运行以下命令来使用我创建的那个:
heroku config:add BUILDPACK_URL=https://github.com/antonyevans/heroku-buildpack-php.git
关键的变化是增加了以下几行:
php/bin/pear install mail
php/bin/pear install Net_SMTP
进入 bin/编译。
2.然后你需要告诉你的应用程序加载邮件包:
require_once 'Mail.php';
3.最后heroku阻塞了邮件端口,所以你需要配置使用外部邮件服务器。例如,如果您添加了 SendGrid 插件('heroku addons:add sendgrid:starter'),那么您可以使用以下内容:
$wgSMTP = array(
'host' => 'tls://smtp.sendgrid.net',
'IDHost' => 'heroku.com',
'port' => 587,
'username' => getenv("SENDGRID_USERNAME"),
'password' => getenv("SENDGRID_PASSWORD"),
'auth' => true
);