wagtail / wagtail-newsletter

Send email newsletters based on Wagtail content
https://wagtail-newsletter.readthedocs.io
BSD 3-Clause "New" or "Revised" License
9 stars 3 forks source link

Simple SMTP backend #46

Open bruecksen opened 1 week ago

bruecksen commented 1 week ago

Hello @mgax and @thibaudcolas ,

I'm about to develop a newsletter functionality for one of my projects and was looking into wagtail-birdsong and then stumbled upon this new project. It looks very promising and uses lots of the new wagtail stuff (preview :)) and wagtail-birdsong feels a bit outdated (even though its working great).

Would it be an option to add a simple SMTP backend so that you could use wagtail-newsletter without integrating a email marketing plattform or is this not the intention of/for the project?

I would like to use transactional emails to send email campaigns. That makes it a lot cheaper and my customers usually don't need the analytics stuff. So I'm wondering if this project is for my or not :)

Thanks, Matthias

mgax commented 1 week ago

Hi @bruecksen, thanks for checking out wagtail-newsletter, I'm glad you like it!

A plain SMTP backend is something we've kept in mind as a possible way to use the package. A couple of thoughts:

bruecksen commented 1 week ago

Hi @mgax thanks for the quick response and I'm glad that you had something like this in mind.

Would this backend use Django's email features?

Yes I thought so. Maybe with a custom send_mass_mail function that sends HTML mails?

It will need some way to manage campaign audiences, perhaps using Django models, with a ModelViewSet to provide an admin UI.

Indeed and I would need some filtering on the contact model to easily generate different audiences/segments.

It may need to remember that a campaign was sent, so that the user doesn't send it again.

And maybe also some basic logging which emails were sent.

The "Save to {backend}" button is not useful if there is no separate campaign system like Mailchimp, so we might want a way to hide it.

absolutely.

Should this be part of wagtail-newsletter, a standalone package, or just example code that people copy to their project?

Do you guys have a recommendation what would be a sensible/best approach at the moment? The project is still quite young and I can imagine it is hard to tell but maybe you have a preference? Would a standalone package use this here as a base? But it will be hard to get updates merged in right?

I would be happy to contribute in any kind to make this happen!

mgax commented 1 week ago

Would this backend use Django's email features?

Yes I thought so. Maybe with a custom send_mass_mail function that sends HTML mails?

Yep, and that adds recipients to BCC, so that we don't disclose their email addresses to each other (send_mass_mail says that _recipients in the same recipientlist will all see the other addresses in the email messages’ “To:” field.).

And maybe also some basic logging which emails were sent.

That will be covered by https://github.com/wagtail/wagtail-newsletter/issues/45, regardless of which backend is being used.

Should this be part of wagtail-newsletter, a standalone package, or just example code that people copy to their project?

Do you guys have a recommendation what would be a sensible/best approach at the moment? The project is still quite young and I can imagine it is hard to tell but maybe you have a preference? Would a standalone package use this here as a base? But it will be hard to get updates merged in right?

I think it would be a good addition to the project, as a separate Django app, that people can explicitly opt into. @thibaudcolas what do you think?

I would be happy to contribute in any kind to make this happen!

<3

How do you feel about preparing a PR to this repo?

bruecksen commented 5 days ago

@mgax

I think it would be a good addition to the project, as a separate Django app, that people can explicitly opt into. @thibaudcolas what do you think?

You mean a separate Django app that is included in the wagtail-newsletter project that could be activated by adding it to the INSTALLED_APPS, right?

How do you feel about preparing a PR to this repo?

sure, sounds great. Lets do this :) Realistically I will start working on this around August but let's see maybe a bit earlier.

mgax commented 4 days ago

You mean a separate Django app that is included in the wagtail-newsletter project that could be activated by adding it to the INSTALLED_APPS, right?

Yep. That way it's always up to date with the rest of the package but doesn't create unnecessary tables and viewsets for users.