How to quickly bake Mailgun with PHP
When I started coding, I remember debating whether I would want to learn ASP.NET vs PHP. I read thousands of bulletin boards on threads about each language to help me make my decision.
PUBLISHED ON
When I started coding, I remember debating whether I would want to learn ASP.NET vs PHP. I read thousands of bulletin boards on threads about each language to help me make my decision.
I chose PHP mainly for the community, the availability of examples and for the fact that it was open source. I’m sure these are similar reasons why you’ve chosen to adventure yourself in the world of PHP.
PHP is one of the most widely used languages, yet there is a lot of confusing or outdated material on the web.
Using the official Mailgun-PHP library
A very straightforward way to use Mailgun and leverage its outstanding API to deliver emails is to install the official PHP library in your development environment, written and maintained as an open source project by our Mailgunner Travis.
Steps
Open your terminal and navigate to your server’s public folder. This is where you store your website and varies depending on installation and web-server used -
cd /var/www/html
Create an empty directory for this project -
mkdir mailgun-php
Enter the directory and execute the following commands -
cd mailgun-php
(changes directory)Now execute the following command to download and install Composer. -
curl -sS https://getcomposer.org/installer | php
Composer, when used this way, allows us to download PHP libraries with ease locally within the folder. Now let’s use composer to install the Mailgun library itself.
Let’s run this to tell composer we’re going to use (and therefore we need it downloaded) the mailgun library (here we use 1.7.1) and its dependencies. -
php composer.phar require mailgun/mailgun-php:~1.7.1
Congratulations, you’ve installed the Mailgun official library and you are now ready to write some code!
Open a file and include the vendor/autoload.php
file to get started. All the examples below assume you've already included this in your file:
Then, follow these instructions from the official documentation to send a message using the SDK:
Remember: $domain
must match to the domain you have configured on app.mailgun.com.
Using Swift Mailer
Using Mailgun with Swift Mailer is a breeze.
Make sure you have your domain’s SMTP credentials to hand! You can find these here they’re named:
Default SMTP Login
Default Password
Steps
Create a folder called Swiftmailer -
mkdir swiftmailer, cd swiftmailer
Download Composer to install swiftmailer and its dependencies
curl -sS https://getcomposer.org/installer | php
Install Swiftmailer
php composer.phar require swiftmailer/swiftmailer @stable
Files will be downloaded, once finished simply create your own empty file to test that phpmailer works. Within your terminal you can achieve that by doing:
touch mailgun_with_swiftmailer.php
vim mailgun_with_swiftmailer.php
Here we’re using vim, but you can edit the file mailgun_with_swiftmailer.php
in whichever editor you feel most comfortable with.
Further information on sending much more complicated emails can be found in the official Swiftmailer documentation available online over here.
Using PHP Mailer
Mailgun can also be used in conjunction with one of the most famous PHP emailing libraries: PHP Mailer.
PHP Mailer is a very valid alternative to the in-built php mail()