如何让一个简单的 php 应用程序从 heroku cedar 堆栈发送电子邮件?

Posted

技术标签:

【中文标题】如何让一个简单的 php 应用程序从 heroku cedar 堆栈发送电子邮件?【英文标题】:how to make a simple php app send emails from heroku cedar stack? 【发布时间】:2012-10-14 01:14:06 【问题描述】:

我有一个非常简单的 php 网站,它有一个使用 php mail() 函数发送电子邮件的联系表格。我怎样才能在heroku上托管这个?我应该使用哪个插件,如何设置它以与 php 一起使用?

【问题讨论】:

【参考方案1】:

这是我为解决同样的问题所做的:

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/compile.

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
 );

【讨论】:

TechnoTony 的回答是正确的。但是他发布的 buildpack 已经过时了。我听从了他的建议,修改了当前的。我已将它放在https://github.com/blindstuff/heroku-buildpack-php.git 使用

以上是关于如何让一个简单的 php 应用程序从 heroku cedar 堆栈发送电子邮件?的主要内容,如果未能解决你的问题,请参考以下文章

如何将数据从 Heroku 上托管的 Node.js 应用程序发送到托管在完全独立(Cpanel)服务器上的 PHP 文件?

从托管在 Heroku 的在线 PHP 站点连接数据库

Push Rails 3.2 站点被 Heroku 视为 PHP 站点

Heroku - 如何在 heroku php 应用程序上启用 gd?

如何将访问代码从 gmail api 传递给 Heroku 中的节点工作者

如何让本地heroku应用程序连接到远程REDIS?