I have a very simple php website, that has a contact form that uses the php mail() function to send emails. How can I host this on heroku? Which add-on should I use, and how do I set it to work with php?
Asked
Active
Viewed 3,571 times
1 Answers
10
Here's what I did to solve this same problem:
1.You need to use a custom buildpack which installs the pear packages mail and Net_SMTP. You can use the one I created by running the following command:
heroku config:add BUILDPACK_URL=https://github.com/antonyevans/heroku-buildpack-php.git
The key changes are the addition of the lines:
php/bin/pear install Mail
php/bin/pear install Net_SMTP
Into bin/compile.
2.Then you need to tell your application to load the mail package:
require_once 'Mail.php';
3.Finally heroku blocks the mail port so you need to configure to use an external mail server. For example if you have added the SendGrid addon ('heroku addons:add sendgrid:starter') then you could use the following:
$wgSMTP = array(
'host' => 'tls://smtp.sendgrid.net',
'IDHost' => 'heroku.com',
'port' => 587,
'username' => getenv("SENDGRID_USERNAME"),
'password' => getenv("SENDGRID_PASSWORD"),
'auth' => true
);

TechnoTony
- 1,587
- 1
- 15
- 24
-
TechnoTony's answer is correct. But buildpack he posted is outdated. I followed his advice and modified the current one. I've placed it for use at `https://github.com/blindstuff/heroku-buildpack-php.git` – blindstuff Jun 24 '15 at 22:42