Sending Emails with MailerSend and PHP

Prerequisites

Before we begin, you need to have the following:

Set up the MailerSend PHP SDK

Since this library is built atop of PSR-7 and PSR-18, we need to install some implementations of those interfaces. Run this command in your terminal of choice within the project directory:

composer require php-http/guzzle7-adapter nyholm/psr7

Afterwards it’s time to install the SDK which will provide classes and functions that allow you to interact with the MailerSend API. To install the SDK type the following command:

composer require mailersend/mailersend

Set up the MailerSend API Key

To use the MailerSend API, you need to generate an API key in your MailerSend account and use as so:

use MailerSend\MailerSend;

$mailersend = new MailerSend(['api_key' => 'INSERT_API_KEY_HERE']);

Now that you have your API key, you can use it in your PHP code to authenticate your requests to the MailerSend API.

Set up the email message

Before you can send an email, you need to set up the email message. This includes defining the recipient(s), subject, body, any attachments, and other parameters you can read about in the MailerSend documentation.

Here's an example of how to set up an email message:

use MailerSend\Helpers\Builder\EmailParams;

$recipients = [
    new Recipient('recipient@example.com', 'Recipient Name'),
];

$email = (new EmailParams())
    ->setFrom('sender@example.com')
    ->setFromName('Sender Name')
    ->setRecipients($recipients)
    ->setSubject('Test Email')
    ->setHtml('<p>Hello world!</p>')
    ->setText('Hello world!');

In this example, we use the EmailParams class to define the parameters to send an email: the sender with their email and name, the recipient with their email and name, the email subject, and the body of the email in both HTML and text format.

Send the email

Finally we are ready to send the email! We'll use the $mailersend instance created before to send the email. Here's an example of how to send the email:

use Mailersend\Mailersend;

$mailerSend->email->send($email);

Conclusion

That's it! Following these steps, you can easily send emails using MailerSend and PHP.

What’s next?

Last Updated: