PHP

Vite with Laravel

Vite is a frontend build tool like webpack. Instead of bundling development assets, Vite serves native ES modules transpiled with esbuild from the dev server. This means there’s a lot less bundling to do, and Read more…

By , ago
PHP

★ Mailcoach v4 has released: drip campaigns, automations, mail templates and much more

[AdSense-A]

I'm proud to announce that Mailcoach v4 has been released. Mailcoach already was a great solution to send out bulk emails affordably. With an entirely refreshed UI and new capabilities, Mailcoach now becomes a more powerful platform for all things email:

We've also rewritten our extensive documentation.

In this blog post, I'd like to give you a tour of everything Mailcoach can do.

A high-level overview

If you want to see a high-level overview of what Mailcoach can do, check out this video.

Mailcoach can be either be installed into an existing Laravel app as a package or used as a standalone application.

When installing Mailcoach into a Laravel app as a package, you can tightly integrate Mailcoach into your application logic. You can listen for the various events that Mailcoach fires when emails are opened, clicked, ... to execute custom logic. Mailcoach stores information in the database using regular Eloquent models that can be used by your application code too.

Sending regular email campaigns

When launching Mailcoach, sending email campaigns was the main feature. Mailcoach uses reliable email sending services such as Amazon SES, Mailgun, and a few more... to send out emails. Using these services is, in many cases, much cheaper than using a service like Mailchimp.

In this video, you'll see a demo of sending a campaign.

My newsletter, which you can subscribe to on this page, is powered by Mailcoach.

Automating emails and drip campaigns

Mailcoach v4 now supports the #1 requested feature: email automation. Mailcoach now has a beautiful UI for creating email flows. Want to create an email course where subscribers daily get the next lesson of your course, no problem! Want to send a mail an hour after somebody has clicked a particular link in a previous mail? Mailcoach can handle it.

In this video, you'll see a demo of this new powerful feature.

That screen where you can chain and nest your flow's different actions is entirely built with Livewire.

Handling transactional mails

Mailcoach v4 gains support for handling transactional emails. This means you can track opens and clicks of emails sent by your Laravel application or even resend emails from within Mailcoach.

Don't worry about email presentation anymore in your code: team members without any technical knowledge can now also manage the transactional email templates with their editor of choice.

All you need to do in your code is to either use the StoresMail or UsesMailcoachTemplate in your Mailable.

Here's another video, where you'll see me prepare and use a mailable with those traits.

Building Mailcoach

In the past, you've seen me and my colleagues publish various posts on the development of Mailcoach. For convenience, I'll list some of there here.

In closing

Mailcoach v4 is big release. We're very proud of it. This package is probably the biggest one our team has worked on.

I want to thank my colleague Rias for all the fantastic work he did around automations; it's truly remarkable work. Willem also did an outstanding job refreshing the whole UI. All members of our team provided feedback and helped with testing here and there.

Since the initial launch, we got a lot of positive feedback from our customers who bought Mailcoach. Some of them reported that they could easily send emails to lists that contain more than 500 000 subscribers. Of course, we're using Mailcoach ourselves too at Spatie, freek.dev and Oh Dear.

Want to know more about Mailcoach, then head over to the extensive documentation.

To celebrate the launch of v4, you can now, for a limited time, purchase Mailcoach with a 20% discount.

(more…)

By , ago
PHP

Nodes and the Visitor pattern

Learn why, when and how to structure your data as a cluster of nodes and how to execute various operations on that cluster via external visitors. Read More

By , ago