Skip Navigation

[Resolved] Send bulk emails with Forms not using cc or bcc

This thread is resolved. Here is a description of the problem and solution.

Problem:
How can we pass the notifications of Toolset Forms to an external mailer such as mandrill to send mass emails?

Solution:
It requires new features, that are not available in the current Toolset Forms edition.
You can suggest a (precisely described) suggestion to https://toolset.com/home/contact-us/suggest-a-new-feature-for-toolset/

This support ticket is created 4 years, 8 months ago. There's a good chance that you are reading advice that it now obsolete.

This is the technical support forum for Toolset - a suite of plugins for developing WordPress sites without writing PHP.

Everyone can read this forum, but only Toolset clients can post in it. Toolset support works 6 days per week, 19 hours per day.

Sun Mon Tue Wed Thu Fri Sat
- - 14:00 – 20:00 14:00 – 20:00 14:00 – 20:00 14:00 – 20:00 14:00 – 20:00
- - - - - - -

Supporter timezone: Asia/Ho_Chi_Minh (GMT+07:00)

This topic contains 3 replies, has 2 voices.

Last updated by Clifford 4 years, 8 months ago.

Assisted by: Beda.

Author
Posts
#1550399

Let's say I've got 1,000 or 5,000 or 20,000 notification emails to send programmatically when a CRED form is submitted.

It's too many to send via BCC (such as via the 'cred_notification_recipients' filter), as the *sending* server might bounce it and the *receiving* server would most likely mark it as spam, if receivable at all. Reference: hidden link

What is the recommended way to accomplish this? Which hook or code snippet or other idea?

Really, I think it'd be recommended to have a boolean filter to control whether CRED runs wp_mail() separately per recipient (so no need for BCC) so the "CRED_Mail_Handler" class (/wp-content/plugins/cred-frontend-editor/library/toolset/cred/embedded/classes/common/Mail_Handler.php) knows which way to process them.

(A case for making the default true or false would be understandable either way.)

If you're concerned about overloading a server with 1,000 wp_mail() calls, you could implement hidden link

The only technical ways I can see right now is to:
1) use the 'cred_submit_complete' filter instead, having no Notification in the wp-admin CRED editor, and fire my own wp_mail() for each user I custom query for... but this lacks the admin editor to build the notification, such as the merge fields like %%FORM_DATA%%
2) filter the 'Notifications::FORM_META' ("_cred_notification") meta key's value, but that feels very, very brittle.

Regarding the mass sending, we would use a service, such as Mandrill, SendGrid, or Postmark that intercepts wp_mail() so we'd expect all the emails would send successfully without triggering spamminess.

Please provide your recommendation as soon as possible.

#1550517

The only ways to send notifications with Forms are as in the Forms GUI for notifications (hence you'd use cc, bcc, etc etc)
Even modifying the notifications with our API won't allow much more than that.

I am not aware of any method to catch the notification and pass it to an external mailer

I'll ask my colleagues what they think, I think it should not cost too much effort allowing this and adding it to Toolset, but it might be that it will be a totally new feature, which should be submitted here https://toolset.com/home/contact-us/suggest-a-new-feature-for-toolset/

I'll let you know as soon as I have some news.

#1550551

This requires a new feature (request) because technically Toolset Forms is not a Notification Software or Email handler.
It has few features allowing for notifications but these are built with the core feature in mind which is to let users manipulate content on your site within the front end - not emailing.

Hence we can only suggest for now to describe the request as precise as possible here https://toolset.com/home/contact-us/suggest-a-new-feature-for-toolset/ so the Product Manager can evaluate the request and eventually ask the Developers to convert this into a feature.

#1550923

OK. I submitted it just now. tyvm.