Sending personalized messages with Views Send

Events happening in the community are now at Drupal community events on www.drupal.org.
claudiu.cristea's picture

Simplenews is a great module and a lot of Drupal sites use it to send mass mailing to users or subscribers. However, IMO this module has some per-design limitations:

  1. The messages cannot be personalized based on the recipient data. You cannot insert formulas like "Dear [first-name] [last-name]" or "Your account balance is $[amount]".
  2. It doesn't accept other kind of data as recipient list. Subscriptions are basically stored as a list of E-mail addresses in a specific table. For example you cannot use nodes as recipient list.
  3. While subscribers list is a simple E-mail addresses list, you cannot perform advanced filtering on recipients data in order to target very fine subsets of subscribers.

A tentative to address the above issues was made by Views Mail module. I tested that module but, after several attempts, I discovered a number of limitations that make it not fully meet my needs. Here are some of them: Views Send vs. Views Mail.

Here comes Views Send! Views Send allow sending mass mailing using Views Bulk Operations.

It is very simple now to build very fine tuned lists of recipients using the power and flexibility of Views module and then send targeted messages by simply selecting the column that acts as E-mail address. And yes... now you can select additional fields in Views and inject the fields values in the message body or subject as tokens. As long as is based on Views, you can take advantage of using Exposed Filters in order to increase the user experience when building the mass mailing target.

Moreover, after filtering the list with Views, you may want to select manually specific recipients using checkboxes provided by Views Bulk Operations (VBO).

Amazing! Isn't it?

How it works?

  1. Create a view and add at least one column containing E-mail addresses.
  2. [Optional] Expose Views filters to let the user easily build list of recipients using UI.
  3. Create a "Page" display and set the Style to "Bulk Operations".
  4. On "Bulk Operations" Style configuration, under "Selected operations", select Send mass mail (views_send_mail_action).
  5. Save the view, load the page, use exposed filters to build the list, select all or some rows and choose "Send mass mail".
  6. Fill the message form to configure the E-mail. Use tokens to personalize your E-mail. The module provide also row-based tokens, taken from the current row of the view. For example, if the view has a column with the key users_name (the user name) you can use this replacement token [views-send-users_name].
  7. Preview and send the message.

Note: The messages will be queued in a spool table and will be delivered only on cron. You can control how many messages will be send per cron run.

Dependencies

Similar modules

You may want to try also:

Some pieces of code were inspired by Simplenews module.

Maintainers & Sponsors

Comments

This is AWESOME!

patcon's picture

This is AWESOME! Certainly a step in the right direction!

Social Features for community site

sarav.din33's picture

Which module are used in below Social Features websites
• Users must be able to embed videos in their profile pages
• Users must be able to become friends with each other
• Users must be able to become followers with either Power Users or Super Users
• Users must be able to message each other one-on-one ( similar to Orkut Scrap )
• Users must be able to form groups ( group membership is by invitation only )

AWESOME.. This is actually

gantenx's picture

AWESOME.. This is actually what I'm looking for. Btw, is it possible to send attachment from Views Send in combination with other modules?

Not able to use user id

vgulla's picture

Hello

Thanks for the great post. I am trying to insert a view (enabled the insert view module) and one of the argument is the user id of the recepient.

So, for example, I have this included in the body of the email [view:mystatus==[views-send-uid]]
mystatus is a view with an argument of uid.

You have not set any status.
Login and set your status.

]
I am wondering where this extra character ] is coming from and if that is what is throwing off the syntax.

Please help
-vasantha

Email Form?

brkelner's picture

I am able to build the view with check boxes and I see the Send Email button,
1. but I do not see the Form to fill in my email message.
2. after clicking the Send Button, I get this message

Performing Send e-mail on the selected items...

An error has occurred.
Please continue to the error page

An AJAX HTTP error occurred. HTTP Result Code: 200 Debugging information follows. Path: /BRC-TEST2/?q=batch&id=774&op=do StatusText: OK ResponseText: Invalid address: node:user:mailYou must provide at least one recipient email address. Invalid address: node:user:mailYou must provide at least one recipient email address. {"status":true,"percentage":"100","message":"Processed 2 out of 2"}

Use the issue queue

hansfn's picture

It's better to post such questions/problems on http://drupal.org/project/issues/views_send If you do so, you need to provide more info of course.

Regards, Hans / hansfn - current module maintainer.

sending weekly digest

leofishman's picture

Hi great module,

I have a content type schedule, that is a calendar.
I need to send weekly reminders with all the events for the week.

I have the view, added the send mail field and a global field for name and email.

Is there an easy way to send all nodes retrieved by the views in one mail?
can I use rules to send it automatically?

Thanks a lot

Mail

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: