Issue
I have a php app which is deployed on Heroku. How do I get the PEAR mail package to work for my app? I see two main options: 1) install pear mail package on heroku 2) Bundle the package into my app before deployment
Unfortunately I'm more of a rails guy so not sure how to do either of these (or which one is right).
Thanks, Antony
Solution
OK, I finally figured this out myself. Here's what I did:
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
);
Answered By - TechnoTony Answer Checked By - Senaida (PHPFixing Volunteer)
0 Comments:
Post a Comment
Note: Only a member of this blog may post a comment.