Simple Bulk Email is designed to send email out in bulk and in batches (using cron) to hundreds or thousands of recipients.

Drupal core version 7.x

Useful Links

Overview

This module creates three blocks. One lets you send email. Another lets you manage email addresses and collections of email addresses. The third lets anonymous and authenticated users un-subscribe their email addresses.

Features

  • Send email in bulk at once as an email "blast".
  • Sends email in batches using cron. User can specify the number of recipients to send to per batch.
  • Can send email on a specific date using a pop-up calendar.
  • Maintains a backup copy of all email addresses, which is managed by a user with administrator role access. Allows user to recover addresses from backup.
  • Allows anonymous and authenticated users to opt-out.
  • Allows user to upload an attachment.
  • Manages email templates for quickly composing an email.

Comments

Seppe Magiels’s picture

Automated review

The automated review gave the following message:

It appears you are working in the "7.x-1.x-dev" branch in git. You should really be working in a version specific branch. The most direct documentation on this is Moving from a master branch to a version branch. For additional resources please see the documentation about release naming conventions and creating a branch in git.
The following git branches do not match the release branch pattern, you should remove/rename them. See http://drupal.org/node/1015226

* 7.x-1.x-dev
remotes/origin/7.x-1.x-dev
remotes/origin/HEAD -> origin/7.x-1.x-dev

But besides that the code itself doesn't give any problems, good job!

Manual review

The code looks very good, I just noticed a few comment "problems". You should probably add the comment below to the function comment.

  /*
   * Every Form will have at least 3 controls.
   * 1 - Group select: this allows user to select the group to work on.
   * 2 - Addresses select: this will populate with available emails depending
   *      on the group.
   * 3 - Action select: this allows user to specify the function to perform
   *      on the group.
   */

Then there are a few comments that draw attention, which might be handy, but it's not a good practice. A couple of examples:

  /*
   * ------------------ ADD ADDRESS FROM BACKUP -----------------------
   */

/*
 * -------------------------------------------------------------------------
 * ---------------------------- FORMS END ----------------------------------
 * -------------------------------------------------------------------------
 */

The first one should probably be replaced by an inline comment and maybe a few extra blank lines before it.

The second one indicates a large section has ended, it might be better to place all the forms in a seperate file. This will make it easier to find the code when you need it and it gives a cleaner overview of the code in general.

PA robot’s picture

We are currently quite busy with all the project applications and I can only review projects with a review bonus. Please help me reviewing and put yourself on the PAReview: review bonus high priority list. Then I'll take a look at your project right away :-)

I'm a robot and this is an automated message from Project Applications Scraper.

Anks’s picture

Status: Needs review » Needs work

Hi Mike,

I found that you have used a sql query at you module file is like,

$result = db_query("SELECT * FROM simple_bulk_email_groups");

As per drupal standard you have to use tablename with curly brackets {}.

$result = db_query("SELECT * FROM {simple_bulk_email_groups}");

Regards,
Ankit Hinglajia

arun ak’s picture

Hi,

1) There is a validation issue in Simple Bulk Email Send Block. When it submit the form without entering
recipient email, then it show an error message:

"Sorry. Your e-mail address "" is not valid. Please submit a valid e-mail address.". But it not highlighting the
recipient filed.

2) Issue at simple_bulk_email.module file line no 2442:

form_set_error('recipients', t($txt)); 

correct is :

form_set_error('email_recipients', t($txt));

3) issue at simple_bulk_email.module file line no 139:
'#value' => simple_bulk_email_get_element_input_or_value('email_recipients', $form_state, ''),
this code removing 'email_recipients' field's default required field validation.

In simple_bulk_email_unsubscribe_form_validate($form, &$form_state) function you can avoid this
checking by adding '#required' attribute for field at simple_bulk_email_unsubscribe_form($form,
&$form_state).

 if (empty($form_state['input']['email_unsubscribe'])) {
      form_set_error('email_unsubscribe', t('Error. There is no value.'));
      return;
    }

Regards,
ARUN AK

PA robot’s picture

Status: Needs work » Closed (won't fix)

Closing due to lack of activity. Feel free to reopen if you are still working on this application.

I'm a robot and this is an automated message from Project Applications Scraper.

joachim’s picture

I'm not convinced by the differences between this module and Simplenews.

However, an abstracted API that allows emails to be sent to large numbers of recipients, using either cron or batch API as suitable, would be a useful thing to have.

(In passing, I'll note in case this application is reopened that on reading through this module's code I found a lot of problems, and that in general the code seems overly complex for a module that advertises itself as simple!)