如何让一个简单的 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 文件?
Push Rails 3.2 站点被 Heroku 视为 PHP 站点
Heroku - 如何在 heroku php 应用程序上启用 gd?