Last updated 28 December 2015. Created on 2 December 2007.
Edited by krina.addweb, osopolar, drupalshrek, s.Daniel. Log in to edit this page.

Simplenews publishes and sends newsletters to lists of subscribers. Both anonymous and authenticated users can opt-in to different mailing lists. HTML email can be sent by using Mime Mail module.

Dedicated handbook pages are available on: sending emails and theming newsletters.

Quickstart (for Drupal 7 version)

  • Install and enable the module (and its dependencies).
  • Adjust Simplenews configuration settings at /admin/config/services/simplenews. There you can also set newsletter "categories", each of which is a mailing list.
  • Create/edit a content type that you want to be for newsletters. The crucial setting is in the "Publishing options" tab, labeled "Use as simplenews newsletter".
  • Subscribe members via /admin/people/simplenews. Alternatively, people can subscribe themselves via subscription blocks (which you expose at /admin/structure/block).
  • Create a node of the enabled content type. After saving, you'll see a "Newsletter" tab, through which you can send the node as a newsletter.


  • Taxonomy module.
  • Large mailing lists require cron (poormans cron can be used but not recommended)
  • HTML-format newsletters and/or newsletters with attachments require mime mail module. Note that after installing mime mail module you need to enable html both in the simplenews and the mime mail settings: admin/config/services/simplenews/settings and admin/config/system/mimemail.


  • Create a new directory "simplenews" in the sites/all/modules directory and place the entire contents of this simplenews folder in it.
  • Enable the module on the Modules admin page: Administer > Site building > Modules
  • Grant the access at the Access control page: Administer > User management > Access control. (Or Administration > People > Permissions if using Drupal 7)


Configure Simplenews on the Simplenews admin pages:

  • Drupal 7:
    Administration > Configuration > Web Services > Newsletters
    choose tab Settings
  • Drupal 6:
    Administer > Site configuration > Simplenews
    Select a content type to use as newsletter, select a vocabulary which tags will be newsletter series.
  • Drupal 5:
    Administer > Content management > Newsletters
    choose tab Settings

Access control

To enable users to (un)subscribe to a newsletter use the "subscribe to newsletters" permission. This will enable the subscription form in the Simplenews block and give access to the subscription page at /newsletter/subscriptions.

To restrict the access for different newsletters only to its audience, you may use some of the access control modules like Taxonomy Access Control Lite.

Simplenews blocks

With the Simplenews block users can subscribe to a newsletter. For each newsletter one block is available.
Enable the Simplenews block on the Administer blocks page: Administer > Site building > Blocks (or Administer > Structure > Blocks for Drupal 7), and visit the block configuration page to configure the block settings. Permission "subscribe to newsletters" is required to access the subscription form in the simplenews block or to view the link to the subscription form.

Simplenews block theming

More control over the content of simplenews blocks can be achieved using the block theming. Theme your simplenews block by copying simplenews-block.tpl.php into your theme directory and edit the content. The file is self documented listing all available variables.
The newsletter block can be themed generally and per newsletter:
* simplenews-block.tpl.php (for all newsletters)
* simplenews-block--[tid].tpl.php (for newsletter series tid)

Multilingual support

Simplenews supports multilingual newsletters for node translation, multilingual taxonomy and url path prefixes. When translated newsletter issues are available subscribers receive the newsletter in their preferred language (according to account setting). Translation module is required for newsletter translation.

Multilingual taxonomy of 'Localized terms' and 'per language terms' is supported. 'Per language vocabulary' is not supported. I18n-taxonomy module is required.

Use 'Localized terms' for a multilingual newsletter. Taxonomy terms are translated and translated newsletters are each tagged with the same (translated) term. Subscribers receive the newsletter in the preferred language set in their account settings or in the site default language. Use 'per language terms' for mailing lists each with a different language. Newsletters of different language each have their own tag and own list of subscribers.
Path prefixes are added to the footer message according to the subscribers preferred language.

The preferred language of anonymous users is set based on the interface language of the page they visit for subscription. Anonymous users can not change their preferred language. Users with an account on the site will be subscribed with the preferred language as set in their account settings.

HTML for Newsletter only

If you only want to send html newsletters and not set the entire site to use html as default for sending emails, got to the Mail System Settings (/admin/config/system/mailsystem), select 'Mail Simplenews Newsletter' (under New Setting), save and set the 'Simplenews module class' in the 'Mail System Settings' to 'MimeMailSystem' or 'HTMLMailSystem'.

Useful tip for a standalone newsletter subscription page

Here's how to create a standalone page that JUST lets a user subscribe to a newsletter:

  • Create a new Page called "Subscribe to Newsletter" or whatever you want.
  • Add to the body of the page whatever text you would like
  • Go to the block administration page.
  • Enable the "subscribe" block from Simplenews, and put it in the content region of the page.
  • Configure the block. Down at the bottom of the configuration page, select the setting that says "Display ONLY on the following pages." Put the path to the page you created there.

Useful end user links related to newsletters

There are a couple of direct links that any visitor can use to access newsletters: "" should be replaced with your Drupal installation's URL.

Subscribing to newsletters, and managing your subscriptions:

To view sent issues of the "my-news" newsletter:

This URLs assume you have Clean URL's enabled. If not, you need to put "?q=" after "" if they are not.

Looking for support? Visit the forums, or join #drupal-support in IRC.


eff_shaped’s picture

In the handbook text, I'm not clear on a couple of things:

Under Configuration
"... Select a content type to use as newsletter, ..."
If I want a layout/design for my newsletter, different from my other content, should I have that content type set up in advance of this step? If so, the documentation should maybe say this.

and a vocabulary which tags will be newsletter series."
Sorry, this part of the sentence makes no sense to me, can it be corrected or explained differently?

solomenikm’s picture

Hi! I create and send issue for example in English, then i translate it in Spanish and see something like : "This newsletter issue is part of a translation set. Sending this set is controlled from the translation source newsletter." but the href of " translation source newsletter." is "" how and wear can i sand this issue?
P.S. Taxonomy terms and translation is is OK, according to instruction :) Thank you very match !!!

doublejosh’s picture

I'd like to have a value in the form input with "enter email" that disappears on click... you know the one.

The $form variable in the simplenews-block.tpl.php file is a string, so I haven't gone deep enough.
I looked at the template pre-process function, but that didn't seem like the right place either.

doublejosh’s picture

Here's what I ended up doing...

$newsletterTextjs = '
 $(document).ready(function() {
 	var message= "Get Our Newsletter";
 	$("#block-simplenews-5 #edit-mail").val(message);
 	$("#block-simplenews-5 #edit-mail").focus( function() {
      if ($(this).val() == message) { $(this).val(""); }
 	$("#block-simplenews-5 #edit-mail").blur( function() {
 	  if ($(this).val() == "") { $(this).val(message); }
drupal_add_js($newsletterTextjs, 'inline');
dhook’s picture

What is the best way to remove the user from the form? This is what is in the simplenews_block_form method in the module.

($form['display_mail'] = array(
'#type' => 'item',
'#title' => t('User'),
'#value' => check_plain($user->name),

How would I remove it from within the simplenews-block.tpl.php


gordon.waters’s picture

Hi there,

I am using Simplenews 6.x-1.0-rc6, and I am having trouble with it sending the newsletters, It seems that the code may be messing the the email addresses and not writing it correctly.

The error I am seeing is this;

Content-type: Text/Plain; charset=US-ASCII
Content-Disposition: Inline
Content-Description: Reason for delivery failure.

The attached message has failed delivery and has been referred
to you as postmaster. The following error report or reports
were given to explain the problem:

--- Problems not related to specific addresses in the message:
501 syntax: Recipient cannot contain a space (< )

Content-type: Message/RFC822

Received: from spooler by localhost (Mercury/32 v4.62); 1 Oct 2009 11:25:20 +1000
Received: from Jaspa ( by localhost (Mercury/32 v4.62) ID MG000010;
1 Oct 2009 11:25:12 +1000
Date: Thu, 01 Oct 2009 11:25:12 +1000
Subject: [Daniel Walker newsletter] First Newsletter
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed; delsp=yes
Content-Transfer-Encoding: 8Bit
X-Mailer: Drupal
From: "DaneilWalker"
Precedence: bulk

jgoodwill01’s picture

If you are getting this error like I was please check your PHP.ini settings for SMTP. I failed to have the sendmail_from line set in my PHP.ini file and this caused me many problems sending mail.

; For Win32 only.
sendmail_from =

beto_beto’s picture


i have this issue too

windows server D6

Unable to send e-mail. Please contact the site administrator if the problem persists.
warning: mail() [function.mail]: SMTP server response: 503 This mail server requires authentication when attempting to send to a non-local e-mail address. Please check your mail client settings or contact your administrator to verify that the domain or address is defined for this server. in C:\inetpub\vhosts\\httpdocs\includes\ on line 192.

Any ideas !!!

rishius’s picture

Hi drupallers...

---Drupal 5 issues---

I was able to implement the simplenews module and everything was working fine. There was only a problem with the unsubscribe link. The sql and php code generated was

$result2 = db_query('SELECT s.mail, s.snid FROM {simplenews_subscriptions} s INNER JOIN {simplenews_snid_tid} t ON s.snid = t.snid WHERE s.s_status = %d AND s.a_status = %d AND t.tid = %d ORDER BY s.snid ASC', 0, 1, $nid->tid);
$mail = db_fetch_object($result2);
$hash = _simplenews_generate_hash($mail->mail, $mail->snid, 53);

the complete link is something like:

but when I click on the link, it sends me to the website but it says page not found. Its a bit bizar that this happens. Anyone can help please.


ranacseruet’s picture

I have installed this module on one of my development site. But the link "" isn't working for visitors. This only shows up only if the user is logged in, otherwise not. How can I change it so that any public visitor can see the subscription page and can subscribe via fill up their email address?


Adrenaline’s picture

i know you ve asked this two years ago but did you get an answer to that question cuz im having the same issue...
thanks in advance,


robway’s picture

I apologize for cross posting.

Will Drupal with Simplenews handle a very large subscription base (over 40,000), and if so, how do I keep the deferred queue from growing to over 60gig?

It seems that the majority of my messages are being deferred and it filled up my 65gig drive.

This may not be the appropriate place for this, but I am not able to locate a better one.

Thanks in advance.

monymirza’s picture

Looking for Drupal 7 Configuration and Theming guide.

jlaaker’s picture

I discovered a problem when users wanted to sign up. It just updated the page without any messages. So I had to investigate some and found out that at one place in the code ( wheter you subscribe/update or unsubscribe ). This check was made on a translated word. I had translated one word (the one in the form), but not another that was used in this test. So the subscribe failed. I will suggest to change this test.

priyankprajapati’s picture

i create the news letter block. and also use the rss feed for that.
if i click on the subscription or unsubscription button that time nothing operation can be perform.
only page will be refresh.
show how can i solve this problem.
help for these

chrisavv’s picture

Is it possible to have the multi-block categories translated? These are the newsletter categories. Any help would be appreciated.

eevvvv’s picture

I have the same problem, I can not translate Newsletter categories. I need help. Any advice will be appreciated)

rsk151’s picture

When you export the subscription list, what is the file named and where does it go. Thanks