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?
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
);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With