Yes, I send emails async using Django-RQ (previously Celery).
It's still a one-liner once you've configured your async task handler. Which makes the example custom email sending microservice even more ridiculous when it can be done trivially by configuring proven off-the-shelf components and third party email delivery services.
I found Django-RQ far simpler to configure than Celery. Given that I'm using Redis for caching anyway, it also removed RabbitMQ as a dependency which Celery basically requires.
Django-RQ's job decorator is basically a drop-in replacement for Celery's task decorator. Django-RQ's built-in Django admin app is very nice.
My Celery usage was pretty simple (mostly background email sending and PDF generation) but for those use-cases Django-RQ has been a very good replacement. Your mileage may vary of course.
That works well in your current situation, but when you have multiple products and services that also need to send emails it makes sense to combine them into a single service.