Newsletter

Newsletter is a plugin to manage subscriptions and create newsletters directly from your powerful blog.

Newsletter can be extended with some interesting features available with Newsletter Extras package.

Newsletter Plugin is not an alternative of FeedBurner. Read more here.

This page is under revision for new version 2.0.0.

Download

The plugin is available on WordPress Plugin Directory: http://wordpress.org/extend/plugins/newsletter/

Must read

  • Hosted on GoDaddy? Read (carefully) here.

Quick start

I have many doubts that a quick start guide can be useful, but I even know many people don’t like to read and understand well how to successfully use a plugin.

  • install Newsletter
  • create a blog page (50% of malfunctions are due to this step) for newsletter subscription and put in the content the short code [ newsletter ] (without inner spaces and lower case)
  • open the page and copy the URL of that page
  • insert it in Newsletter Configuration panel and save
  • subscribe to your own newsletter going to the subscription page you created, just for a test
  • that’s all folks

Help and Support

There is a post dedicated to send questions and get answers.

Should I update?

Many times people ask them self if they have or not to update Newsletter to a new version (usually is WordPress plugins panel that offers such opportunity). Sometime update can be risky, specially if I have introduced new features that may be buggy. So, before update, check articles tagged newsletter to see what’s changed.

Pro version

Newsletter comes in two flavours: free version available as described on WordPress Plugin Repository and a pro version available to members of Satollo.net. From version 2.0.0 (still not released) free and pro version are two distinct plugins. Newsletter Pro replaces Newsletter Extras.

Newsletter Pro has a few interesting features over the free version:

  • statistics
  • customized forms
  • follow up system
  • feed by mail

and they are better described on Newsletter Pro page.

Configuration panel

Configuration panel contains the main and general configurations used by Newsletter. It’s important to understand and set such parameters correctly.

Sender name and email. Sender is the “virtual” person who is sending every message related to newsletter, from  subscription messages to newsletters. It’s required to set those two fields (by default their are set with blog name and admin email).

Newsletter page. It’s a WordPress page URL you must create to make Newsletter to work. Such page can have whatever title you prefer, but the body has to contain only the short code

[ newsletter ]

with no inner spaces (between brackets and the word “newsletter”). That page is used to interact with subscribers showing subscription form, messages and so on. As example, my page URL for Newsletter is

http://www.satollo.net/subscribe

See below for more details.

Return path (temporary removed). This is an email address added to every message in a special hidden (but legal) header field. This address is used by mail systems to send back errors (eg. mail delivery error) to notify something is wrong on the destination mail box. Common errors are “mail box full” or “unknown recipient”. Those errors are called “bounces”.
If this field is left blank, the “sender email” is used as return path. WordPress does not set this special header while sending messages, Newsletter, for its messages, changes the behaviour of WordPress mail system to set it.

Test subscribers. Is a list of 5 “name and email” fields used to test many aspects of Newsletter where the most important is the newsletters them self to see if emails comes to test mailboxes and how they render.

Editor access. If you want blog members with editor level to access the newsletter plugin, set this value to “yes”. Pay attention that editor will be able to see and use all functions of Newsletter.

Show panel in english. Configuration panels are originally in English (my poor English), but Newsletter is ready to be translated with default I18N (internationalization – 18 is the number of character between “i” and “n”) of WordPress. If you blog has a different language set (in wp-config.php) and there are a translation in that language, it will be loaded and used. Setting this option to “yes” stops the translation loading.

Logging. Newsletter has an internal log system that writes on file system information on what it’s happening. Usually you can set the log level to “none” so nothing will be written. The level “normal” stores errors and other useful information. The level “debug” writes a lot of information and even sensible data, so it must be used only to… debug! The log file is written inside the Newsletter folder and will be deleted on each update.

Setting up the subscription page

After installing and activating the plugin we firstly need to create a newsletter subscription page. That page is not only for subscription, but it’s used by Newsletter to interact with users.

Follow the steps below:

  • open the Pages menu (on the left of your WordPress admin area) and press “add new”
  • give a title to the new page, something like “Newsletter Subscription”
  • put in the page content the tag [ newsletter ] (with NO spaces between the square brackets and the word “newsletter”)
  • publish the page

The page will get a URL which is the value we need to set on “Newsletter page” field. The permalink can be something like http://www.satollo.com/english/newsletter. You can open your new page and copy the address from your browser.

Newsletter page URL configuration

Subscription panel

Subscription process

The subscription process can be configured in two main ways: double opt in and single opt in. In some countries, double opt in is required by law, specially when the newsletters are sent by a company.

Below there are two diagrams that clearly explain what happens when a user subscribe. The first is a double opt in, the second is a single opt int. As you can see there are a number of steps. All those steps shoukd be configured on Subscription panel.

Double opt in subscription process

Single opt in subscription process

Subscription process (with double opt-in) can be broken up in the steps below:

  1. a user lands on the newsletter page: this is the subscription step where the users are asked for name and email
  2. he types in his data and press “subscribe”: this is the first opt in
  3. a message is shown in the page saying the data was stored and an email sent to confirm the subscription
  4. the user checks his mailbox and finds a confirmation email with a link to be followed to activate the subscription
  5. the user press that link and a “subscription confirmed” message is shown

Text shown in steps 1, 3, 5 are fully customizable within the newsletter Subscription panel.

Pictures are not updated with latest panel version (I made many changes) but the configuration steps are substantially the same.

newsletter-4

newsletter-5

The subscription form

The subscription form is automatically added inside the newsletter page.

On pictures below there are some examplea of newsletter page as it appears on the subscription step and the configuration panel where to modify the introductory text.

The green box identify the text displayed and where to write it. Click on pictures to enlarge them.

newsletter-2

newsletter-3

The form is loaded from a language file, so it can be translated. The file depends on your blog language and is one of the ones you find under the folder languages with name xx_YY.php.

Single and double opt-in

You can force Newsletter to work in single opt-in mode, there is a check box on confirmation configuration. It means that a user who leave his email address will be saved as confirmed subscriber and will receive the welcome message.

How to enable single opt-in mode

Name and email or only email

By default, subscription form ask for name and email. On configuration panel you can specify to collect only the email address. This setting change the subscription form and the widget behaviour.

Unsubscription

Unsubscription configuration now let the blog owner to set up a good bye email. If the email subject is empty, the email won’t be sent.

Users unsubscribe starting from a link in a email, usually a newsletter (but unsubscription link can be added to confirmation and welcome emails too).

Widget

To add a subscription for on a sidebar, you can use Newsletter widget. Easy to install and configure, it’ the best way to have a subscription form on all pages.

Composer panel

Testing, Simulating and Sending

First step first, do some tests. On Composer panel there is a “test” button which triggers a newsletter delivery to the test subscribers you configured on Configuration panel.

A test can show you if emails reach the recipient and if emails show up well.

(Temporary removed). When you have a list of subscribers you can simulate. Simulation means to send out a real newsletter to a single test address. How it works? Newsletter will picks up all subscribers from database and compose the email for each of them. Then it sends out that email but forcing the email address (and only it) to the email address configured. Check the Composer panel for such configuration.

Sending. Nothing to say, a real newsletter sending process. No way back when you start a sending process.

Composing emails

The composer panel is rather complex even if at first it seems simple. Mainly the composer is used to create an email (newsletter issue) to be sent. All what is required is a little of fantasi to compose a subject and message body.

In the composer there is a visual editor with it’s advatages and it’s limits. I think for many of us a visual editor is the best choice: you can write, format, create tables, give styles. Just remeber that not all email client (desktop or online) shows text styles as you see them in an editor. Still there are many ways to insert style, inline, referring an exteral file and as an html tag inside a page. Some of them are respected by email client, other removed or totally ignored. This is why many newsletter themes use verbose “inline styles”.

The problem is not obvious, you can find some other info here.

Using visual editor is not only a matter of have it while cmposing, the system reacts in a different way if visual editor is enabled or disabled. Why and how?

Visual editor do not accept <style> blocks (any visual editor, no only TinyMCE), but themes can have (from version 1.4.7) an associated style.css file. So before sending, Newsletter Plugin loads the email body and the theme CSS, merges them and creates a single full HTML email. CSS used is determined by the last theme choosed, so even is you empty the editor content, that CSS will always be added.

If you need to force Newsletter to not use the theme CSS, simple choose the new “Blank” theme.

Avoiding visual editor

From version 1.4.7 you can disable the visual editor of composer and write the full html text of your email. Newsletter plugin, while sending, will use your email body AS-IS so you are free to make whatever you want. Having control of the html code, you can insert <style> blocks too, but be aware that not all email client will respect it.

To disable visual editor check the “Disable visual editor” checkbox and save. Remember to save!

Batches explained

One of the biggest problem with hosting provider are limits they impose on emails sent per hour. So there is a configuration where you can set the max number of email to be sent per batch. If the limit is reached, Newsletter stops the sending process and show a “batch info” with a button to restart the sending process.

Batch info box, shows the number of emails sent, the number of email still queued, the last subscriber email address and id processed. There is and internal system that tries to save batch state even when the system if stopped by errors or other provider limits. I did my best, but I know I won’t be enough…

For who has the Extras package, simulation and sending can be scheduled breaking the process on small batches started every 10 minutes. Combining this fragmentation with a maximum number of email per batch you can avoid to go over provider limits.

Lists panel

I have to be honest I don’t like lists and I originally left out lists from my plugin to keep it simple. Lists are hard to manage, create a number requests due to different ways users want to have them implemented.

I tried to add them in the safest and simple way. If one does not need lists, simple he can ignore them and the plugin works as if lists were not present.

If you want lists… ok, you can configure up to 9 lists. Lists are NOT user groups. Lists are more like “options”. An user can be associated to one or more lists to express it’s interest in specific topics and, of course, blog owners can send a newsletter to a specific list.

Some lists can be private: that means only the administrator can add a user to such lists.

To make list “checkboxes” available on subscription form, I rewrote it in a new format and I added a lot of code to manage that new format (this is why I hate lists…). That big change created a new opportunity: now form labels trabslation can be done directly on a new configuration panel.

Import panel

May be a blogger already has a list of subscribers to be used. So there is the feature that permits to import such list of user.

The import process and the data needed is really simple: a csv formatted text with email and name. Using the “import” panel, just past the csv text in the textarea and press import.

The import process doesn’t check for YOUR data validity, but can give as a result a number of “error” lines.

A line is wrong, eg, when the email address in it is already in the database. Emails need to be unique.

The cvs format is “email;name”, eg.:

info@satollo.com;Stefano Satollo
…

email and name has to be separated with a semicolon (yes I know the CSV means “comma separated values”). CVS text has to be copied in the import textarea, no file upload is available. Emails imported will be normalized and token for unsubscription process generated.

From version 2.0.0 on importing you can specify the lists to be associated to imported subscribers.

Export

There is a specific sub page of Newsletter which lists out all subscribers in CVS format to be saved or processed elsewhere. The exported text has one subscriber per line with email, name, status and token. The status can be one of S or C character. S stands for “subscribed but not confirmed”, C stands for “subscribed and confirmed”.

Labels panel

The label panel simplifies translation and customization, giving the freedom to change subscription form labels (and may be some other message).

Themes

Version 1.4+ has a new theme system, made of PHP files that can be fully programmed. Newsletter comes with two themes stored on “themes” folder under the plugin folder.

Each theme has its own folder with (at least) a “theme.php” file inside. Just look at them as starting base to understand how they work and to create your own theme.

From version 1.4.7, theme system supports CSS. In a theme folder it’s possible to add a file named “style.css”. It has to be like a common CSS file for web sites.

When sending a newsletter issue, this CSS will be loaded and merged with message body. Be sure to read here to know more about how CSS are used by different email clients.

On composer paragraph it’s explained how CSS are treated while creating messages with or without the visual editor.

Theme folder has this format:

theme-folder-name
-- theme.php (mandatory)
-- style.css (optional)
-- [other files or folders]

To create a custom theme you MUST NOT modify the packaged themes, otherwise on next update the changes will be lost.

To customize Newsletter themes just create a folder named “newsletter-custom” inside the “wp-content/plugins” folder. Inside that folder, create a “themes” folder and copy one of the packaged theme folder inside it. You may change the folder name as it’s used as theme name.

Those custom themes will be listed in composer page.

All theme files (usually images) need to be stored in theme folder.

I hope there will be some designers who want to share they newsletter themes, I’ll be happy to add them to Newsletter package.

Versions

In deep notes on version can be found under tag “newsletter“. Versions description may be missing in this page section. Use the previous link to have full documentation.

Remember the plugin firstly load the en_US.php file and then the one specific for the blog language.

If you want to customize the form, it’s simple: do not modify the file provided with the plugin. Insted, create a folder named “newsletter” under the folder “wp-content”, and a subfolder “languages”. Copy the language file you want to start with under the latter folder and rename it “custom.php”. Change the content as you like.

Why put the file sin that folder? Because when you upgrade the plugin, WordPress delete the original folder!

by Stefano Lissa

450 thoughts on “Newsletter

  1. allon

    Hi,

    Great plugin!

    I am not receiving notifications when testing out the plugin.
    As the person who signs up I get the welcome aboard mail but even though I set notifications to “yes” and the email in my wordpress settings is mine, I still do not get any notification.
    Any idea what might be causing this?

    Also, maybe you can direct me to the file where the function that is triggered when a form is submitted and I can add a notification mail myself from there. Have not been able to find it…

    Thanks

    Reply
  2. Elisa

    Hi,

    I can’t install your plugin,

    Here it is:

    Plugin could not be activated because it triggered a fatal error.

    Parse error: parse error, unexpected T_CONST, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or ‘}’ in /articles/wp-content/plugins/newsletter/plugin.php on line 21

    can you please help me?

    thank u in advance!

    Elisa

    Reply
  3. Christoph

    Hi Stefano,

    first, Id like to say thanx for the great plugin!
    second, I have a question: How can I specify from which category the newsletter should take the articles inside the theme.php? Because any query I try does not work.
    Is there a way to create a newsletter that looks just like one page of my Site?

    Reply
  4. Roberto

    Ciao Stefano
    vorrei sapere se è possibile regolare il numero di post da inserire nella newsletter.
    Inoltre vorrei sapere come evitare il raddoppio dell’immagine.

    Grazie

    Reply
  5. Olimin

    Hello !
    I’m on the free version of the Newsletter and in the email composer i don’t know how to specify the number of post who could be auto integrated in my newsletter when i clic on the “change” button after the selection of the theme. In an old version i remember it was a field to specify that…
    Thank you for your help :)

    Reply
  6. Rune Slembrouck

    everytime somebody subscribe the newsletter he get an email like:

    Subscriber details:

    email: asdfasdf
    first name:
    last name:
    gender: n
    token: asdfsdaf3243asdf
    status: C

    Yours, Newsletter Pro.

    Where can i disable this or edit the text?

    Best regards

    Reply
  7. Krystal

    OMG going insane. I have upgraded the plugin to 2.5.2 Where are my emails?

    Nothing is being saved in the emails tab. Every time I write a newsletter it disappears as soon as I test it or leave the page. Even if I save.

    Where are the saved newsletters?

    Reply
    1. Stefano Post author

      Hi Kristal, how did you upgraded? Manually? Have you deactivated and reactivated the plugin? 2.5 is very different from previous versions, if upgraded from 2.1 so there are some configuration panels to be “discovered”.
      More, did you try an export to get the full database? Upgrade does not delete anything.

      Where are you not finding the emails? On what panel?

      Reply
  8. Meryl

    Hi!
    Love this plugin, thanks for all your hard work!

    Since the last upgrade tho, it’s just stopped working on my site. everything SEEMS fine, no error messages – but nothing’s being sent. No test messages, no mails.

    I’ve disabled and enabled, reinstalled twice. Nothing’s changed at all except the upgrade :(

    Reply
    1. Stefano Post author

      Have you checked the main configuration? It’s all ok there? It has been upgraded by many many users without big issues…

      Reply
  9. zsofia

    Hello Stefano,
    Thank you for this plugin.
    I have problems with the unsubscribe link, it takes them to the unsubscribe page but doesn’t use their name. What is the right way to use these tags:
    Tags: {id} user id; {name} user name; {token} the subscriber unique token; {unsubscription_url} unsubscription link
    molto grazia

    Reply
  10. Art

    When sending, a Status appears to the right of an email being sent on the Email page. The status may say “sending (1/20)”, “sending (10/20)”, etc.

    Does refreshing the Email page while sending have any effect on the sending process?

    Is there a preferred process that should be followed when sending?

    Thank you.

    Art Lewis

    Reply
    1. Stefano Post author

      When in sending status a delivery engine takes care to send emails keeping the hourly rate under the one specified on main settings.
      You do not need to refresh the page, just be user (see thr FAQs) that your wordpress cron is working.

      Reply
  11. WNCCN

    I installed the plugin and sent a test message, everything worked then I tried to sent a test message that I created add got the following error
    WordPress database error: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1]
    update wp_newsletter_emails set sent=sent+1, last_id=0 where id=

    does anyone have a way to fix this??

    Reply
  12. Clay

    The plugin isn’t showing the “virtual view” of the newsletter. just the “html view” and you could you please quit updating it every hour thanks.

    C

    Reply
  13. Monique

    Hi,

    Thanks for a great plugin, can you tell me where I have to click to get an email sent everytime someone subscribes to the newsletter? I would like to be notified when they subscribe.

    Thanks!

    Reply
  14. ab

    helloo

    I am getting this erorr on composer page

    Warning: touch() [function.touch]: Unable to create file /home/salmankh/public_html/isixtech/auction/wp-content/plugins/newsletter/test.tmp because Permission denied in /home/salmankh/public_html/isixtech/auction/wp-content/plugins/newsletter/newsletter.php on line 95

    It seems that Newsletter plugin folder is not writable. Make it writable to let Newsletter write logs and save date when errors occour.

    how to solve this? i could not send mail/newsletter from there. :(

    Reply
    1. 0z

      Hi & thank you for the plugin.

      I have the plugin installed on two different sites. One works the way it should the other has the same error as ab.

      I checked the file and folder permissions on both sites and they are both 755.

      Thank you in advance for any help.

      Reply
  15. kai

    Hi,

    first of all, thanks for the plugin. It’s great ;o)

    One question I have:
    When someone subscribes or unsubscribes every time an email is sent to me (administrator) with

    - subject:
    “[my-blog-name] Unsubscription” / [my-blog-name] New subscription”

    - content:
    “There is an unsubscription to my-blog-name. newsletter:

    Have a nice day,
    your Newsletter plugin.”

    Is it possible to turn these mails off as the content doesn’t have any value information?

    (I’m on WP 3.1.2)

    Thanks,
    k

    Reply
    1. Rico

      Hi kai,

      not yet, sorry. But you can add a filter in your email client who catch this mails and, for example delete this mails.

      Greetings, Rico

      Reply
      1. kai

        Hi & thanks for answering so quickly!

        Okay – I may create such an filter or use an invalid admin eMail adress..

        The fact, that these mails do not have any value content (such as name & email of the subscriber / unsubsriber) is known as issue?

        Cheers,
        k

        Reply
        1. Rico

          It is not a Problem, it’s just an information email. Maybe Stefano can add more information in the next version.

          Greetings, Rico

          Reply
  16. Lane

    Hello,

    When I receive notification of a person subscribing, the email says it’s from WordPress. Is there anyway to change this?

    Thanks,

    Reply
    1. Rico

      Hi Lane,

      do you mean the sender email or the sender name?
      What did you specified in “Newsletter” -> “Subscription” -> “Sender email” and “Sender name”?

      Greetings, Rico

      Reply
      1. John

        Just installed plugin, so the same problem mentioned above (email notification of new subscriptions to blog administrator, cancellations, etc. etc) in the from field on the notification email, the From Field says “WordPress”

        Think this has something to do with main configuration under general parameters, it seems the newsletter program is by default sending the email from “WordPress” instead of the once specified…

        not a big issue, but would like the notification email to blog administrator to go to a specified email address….for example info@mysite.com

        Thanks for any help!!!

        Reply
  17. Mariusz

    Hi, I am configure this plugin and I have 10 subscribers right know but when I add new post like here in my website http://garwolinskie.info/gi/jaka-wode-pijemy/, my subscription doesn’t sent a email to subscribers with news. why ? What I am doing wrong ?? or what I am not configure ???. This option ‘Newsletter message’ should I fill ???? Please this is important form me. Thx for reply.

    Reply
  18. Bernd

    Greetings,
    I tried several newsletter plugins for WP during the last weeks – yours is great an will help uns spread the news about our non profit association helping children with cancer and their families!
    Ciao, Bernd

    Reply
    1. Rico

      Hi craig,

      what do you exactly mean? Search through the folder wp-content/plugins/newsletter/. For example there is a widget.php.

      Greetings, Rico

      Reply
      1. Craig

        Hi Rico, sorry for the bad explination. I am wanting to add the signup widget to the front end of my custom theme, however I need to know how the actual widget is coded for me to create a custom signup form on the frontend. I need to know the form action, token etc. A quick glance at the widget code will tell me whats required, however I cannot find the code

        Craig

        Reply
        1. Rico

          If you just need the form on a page, use the tag [newsletter]. Or you copy the form code and insert it on your page (insert [newsletter] in a new page, open this page, open the sourcecode, copy the form code, insert the code where ever you want).

          Reply
  19. rhys

    hi,

    Great fantastic plugin to start with.
    But I have a problem with the unsubsribe link.

    When I click the link I get redirected to a blank page with the following text “Subscriber not found or invalid token”

    BUT the subscriber IS/was in the database and after the click it is succesfully deleted. So the error messages shouldn’t in fact be there at all… does anyone know what can be possibly going wrong here?

    thanks in advance!

    Reply
  20. Radek Smrčka

    Hi,

    I have got a problem with Czech diacritical marks.

    I edited the file en_US.php and transalte the texts Your name,… to CZ and saved the file with UTF-8 coding instead of ANSI. In www page all was ok.

    The problems are:
    1) When I logg off the WP admin and trying to logg in, the logg in table did not appear. I I have no idea why but when I change coding from UTF-8 to ANSI everything is fine exept of the Czech diacritical marks.

    2) In the administration of newsletter are not visible the Czech diacritical marks at any time in the name of subscribers (š,č,ř,ž).

    Thank you in advance for all ideas.

    Reply
    1. Stefano Post author

      I had many problem with thos characters in the past on Java. Have you edited the translation with a UTF-8 editor

      Reply
    1. Rico

      Hi olli,

      download the Plugin (see the part “Download” above) and read the part “Installation” on the new page.

      Greetings, Rico

      Reply
  21. Nargiza

    Hello, could you please tell how should we add by ourselves new (about 100) subscribers, but with a possibility of automatic sending of subscription confirmation letters first.
    Would greatly appreciate your response.

    Reply
    1. Rico

      Hi Nargiza,

      you can import the subscribers. See the part “Import panel” above.
      After that you can click on “resend confirmation” for each subscriper.

      Greetings, Rico

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>