Fork me on GitHub



Make donations with PayPal!
Goal: $100.00
Due Date: Oct 31
Gross Amount: $25.00
Net Balance: $23.72
Left to go: $76.28

kakos  ($25)Oct-25

GitHub Twitter

Learn XOOPS Core

Local Support


XOOPS Code hosted on SourceForge

Cumulus Tag Cloud

- 2 2.5 2.6 4 6 admin adslight Android AntiHarvesting AntiSpam API Apple Battlefield billige Blocks Bootstrap Captcha cell cent chronolabs Clicks Cloud content CĂN demo download Dresses facebook Fat floor Gateway giải Google Guide herre Home Honeypot html5 Human HỘ IP iPhone jQuery Language Law Legal List Loss module modules Monster new newbb news nhiệt NHÀ online PARK Payment phone PHP Prevention profile project Protector publisher RESIDENCE responsive review Rights Room security Sentry Signatures Signed site Smartphone Smarty Smoking Solution Spam stem Studio support tag tdmcreate The Theme themes tháp User userlog weight xoops Xortify XPayment ZendFramework

New Users

Registering user

# 139440


Welcome to XOOPS!


News archives

xNewsletter: Newsletter module for XOOPS

Posted by goffy on 2013/1/14 21:50:00 (7323 reads) | Posted on Modules
xNewsletter is a newsletter-module for Xoops. The modul is based on PHPMailer and PHPMailer-BMH.

Short description of basic functions:
- Usage of one or more e-mail-accounts
- Admin of one or more newsletter possible
- Subscription procedure optionally use confirmation system (double-opt-in)
- detailed handling of permissions for subscription procedures
- Newsletter are based on templates
- detailed handling of permissions for groups and newsletter (subscribe, write, send)
- Send: send test mail, resend to all subscribers or only to subscrbers, where sending failed
- Bounced mail handler for handling bounced mails in case of invalid e-mail-addresses
- Optionally syncronisation with mailinglists (e.g. majordomo)
- Maintenace function included
- Creating protocol for the important steps

For details please look into help file.

The module you can download from

If you like this module, you can make a small donation for the child climbing group of Naturfreunde Hochburg-Ach (

Resized Image

Thank you

Printer friendly page Send this story to a friend Create a PDF from the article
Bookmark Me
Bookmark to Google Plus
The comments are owned by the author. We aren't responsible for their content.

Very nice work!
Now we really have a lot of Newsletter modules!

We'll need to consolidate them, or pick one that we'll be supporting as XOOPS Official Module as part of the Basic Module Pack!

But this is a good problem to have!

Thanks again for developing it and sharing it with us!
Published: 2013/1/18 21:09 • Updated: 2013/1/18 21:09
I just tried the module on my local server with Xoops 2.5.5 and php 5.3 and I have a blank page
Published: 2013/1/19 5:41 • Updated: 2013/1/19 5:41
turn on the debug.
Published: 2013/1/19 6:30 • Updated: 2013/1/19 6:30
No message in debug mode
Published: 2013/1/19 6:32 • Updated: 2013/1/19 6:32
- go to modules/xNewsletter/languages/english/main.php
- go to line 101
- make to end this Line -> ; (semicolon)
Published: 2013/1/19 7:02 • Updated: 2013/1/19 7:02
it's working now after changing the translation typo. At first glance I like this module and the many options for maintenance and working with more newsletters. Nice work Alfred!

It looks like a few language strings are missing in blocks admin (english version at least).

The (un)subscribe and other user options now only can be reached using the menu. It would be nice to have them on the module index page also (or the option to enable placement there in admin).
Published: 2013/1/19 9:10 • Updated: 2013/1/19 9:10
It works but I have a blank page again when I turn the block module.

Debug mode :

Message(s): Constant _MB_XNEWSLETTER_LETTER_DISPLAY already defined dans le fichier /modules/xNewsletter/language/english/blocks.php - ligne 34
Message(s): Constant _MB_XNEWSLETTER_LETTER_TITLELENGTH already defined dans le fichier /modules/xNewsletter/language/english/blocks.php - ligne 35
Message(s): Constant _MB_XNEWSLETTER_LETTER_CATTODISPLAY already defined dans le fichier /modules/xNewsletter/language/english/blocks.php - ligne 36
Published: 2013/1/19 9:32 • Updated: 2013/1/19 9:32
Lines 34, 35 and 36 are twice in blocks.php and have to be removed. Missing are:


All strings seem to work except the last one, block admin still shows MB_XNEWSLETTER_CATSUBSCR_ALLCAT...

All blocks show ok on the userpage of my testserver
Published: 2013/1/19 10:13 • Updated: 2013/1/19 10:19
Other beug:
- I tested the three systems for sending e-mail and does not
- When I send a newsletter, I have this message: Sending 0 newsletter (s) successfully
- In account, what is the difference between Name and Your name?

I continued my test
Published: 2013/1/19 11:27 • Updated: 2013/1/19 11:28
A feature request in between:

I would like to have the option to disable the 'Anrede' question for users registering. Mailing a person with 'Mr' can be appropriate in case of an old fashioned business site, but I would not use it for a community site. Could be a German issue, not all nations are using those formal salutations these days
Published: 2013/1/19 12:31 • Updated: 2013/1/19 12:31
hi tatane
I tested the three systems for sending e-mail and does not
When I send a newsletterI have this messageSending 0 newsletter (ssuccessfully

if you use pop3, imap or gmail, you can click on "Save and check settings" when you create/edit the account
if all settings are ok you should get a response from your emailaccount like this:

Resized Image

In accountwhat is the difference between Name and Your name?

name is the name of the account you give them, this will be shown in the newsletter creation form
your name: this is the name, which wiil be displayed as sender name e.g:
your name "John Doe" will be shown as sender name: "John doe ("
Published: 2013/1/20 4:36 • Updated: 2013/1/20 4:36
Hi flipse

if you or the subscriber leave it blank, it will be not used, but I can make an option for this
Published: 2013/1/20 4:38 • Updated: 2013/1/20 4:38
So I just try with php mail function and it works only for testing newsletter Send

Why in recent Letter Blocks and Letter random we can not view the newsletter with a link clickable?
Published: 2013/1/20 4:48 • Updated: 2013/1/20 4:49
hi tatane
So I just try with php mail function and it works only for testing newsletter Send

sending for test and sending use the same function, if one works, the other should also work. maybe there is something wrong in the subscriptions. can you please check.

Why in recent Letter Blocks and Letter random we can not view the newsletter with a link clickable?

i will implement this in next version
Published: 2013/1/20 6:16 • Updated: 2013/1/20 6:16
Look my config :

Resized Image

Published: 2013/1/20 8:15 • Updated: 2013/1/20 8:15
Tatane: are you using a mail address with the website domain name or an external one? Some webhosters block the use of external 'from' addresses to prevent spam.
Published: 2013/1/20 9:00 • Updated: 2013/1/20 9:00
I tried with several address but it is the same
Published: 2013/1/20 9:03 • Updated: 2013/1/20 9:03
hi tatane

sending testnewsletter is still working?

what does the protocol say?
Published: 2013/1/20 11:00 • Updated: 2013/1/20 11:08
Published: 2013/1/20 11:03 • Updated: 2013/1/20 11:04
what does the protocol say?
Published: 2013/1/20 11:09 • Updated: 2013/1/20 11:09
Resized Image

Resized Image

Published: 2013/1/20 11:15 • Updated: 2013/1/20 11:15
how many subscribers do you have for the cat, you selected in creation of newsletter?
Published: 2013/1/20 11:23 • Updated: 2013/1/20 11:23
1 anonyme
Resized Image

Published: 2013/1/20 11:24 • Updated: 2013/1/20 11:28
are you testing on web or local?
Published: 2013/1/20 11:28 • Updated: 2013/1/20 11:28
Web server dédié
Published: 2013/1/20 11:31 • Updated: 2013/1/20 11:31
hi tatane

please open xNewletter/include/sendletter.php

and replace line 148

} else {
redirect_header("letter.php"3"no subscribers found");

and test again and report
Published: 2013/1/20 11:47 • Updated: 2013/1/20 11:47
Blank page the sends
Published: 2013/1/20 11:51 • Updated: 2013/1/20 11:51

please make undo

and add after line 148

if (count($recipients) == 0redirect_header("letter.php"3"no subscribers found");

Published: 2013/1/20 12:02 • Updated: 2013/1/20 12:02
When sending this message I found no Subscribers and I get nothing
Published: 2013/1/20 12:05 • Updated: 2013/1/20 12:05
to you have safe_mode = on?
then disable this.
Published: 2013/1/20 12:08 • Updated: 2013/1/20 12:08
No not safe_mode
Published: 2013/1/20 12:17 • Updated: 2013/1/20 12:17
Download the sendletter.php from here:
unzip this file
Copy the sendletter.php into /modules/xNewsletter/include ( replace the old file)
Published: 2013/1/20 12:46 • Updated: 2013/1/20 12:46
When I send I 0 Sending newsletter (s) successfully
Published: 2013/1/20 12:56 • Updated: 2013/1/20 12:56
send your letter from admin or frontend ?
click of send lettesrs or resend letters ?

Please going to Forum:

this here is for comments the article
Published: 2013/1/20 13:10 • Updated: 2013/1/20 13:13
Resized Image

Published: 2013/1/20 13:17 • Updated: 2013/1/20 13:17
Thanks ! I like the module. There are quite a lot of possibilities.

Is there an option to send newsletters in blocks of 100 or so ? Quite a lot of smtp-servers refuse mails if there are more than a certain number in a time period. E.g. Gmail max 500 or with software 100 recipients.

If you have to send more, the mails are divided in blocks by the software: 100/hour, 100/3 hours etc.

This would be a useful feature !


Published: 2013/1/20 14:48 • Updated: 2013/1/20 14:48
in future versions it will be possible (cronjob or similar)
Published: 2013/1/20 15:31 • Updated: 2013/1/20 15:31
To prevent others from doing the same... I'm already busy translating xNewsletter to Dutch!
Published: 2013/1/20 15:39 • Updated: 2013/1/20 15:39
Maybe a silly question but busy translating it's not clear to me... What is meant with 'Keywords' in the admin settings page? Is it SEO?
Published: 2013/1/20 15:48 • Updated: 2013/1/20 15:48
hi flipse

this are the meta keywords, but we are thinking about removing this, as it is normally not so useful

can you please use also the forum:

thank you for translating
Published: 2013/1/20 16:25 • Updated: 2013/1/20 16:31
Thank you goffy!
Published: 2013/1/20 16:34 • Updated: 2013/1/20 16:34
I see no option to import subscribers ..... am I missing something ?
Kind of fundamental isn't it ?
Published: 2013/2/18 7:03 • Updated: 2013/2/18 7:03
I agree, import function would be nice.

I submitted your suggestion on the german developer Webseite (
Published: 2013/2/18 9:03 • Updated: 2013/2/18 9:03
Hi feichtl

import registrations from rmbulletin should be possible.

any other suggestions?
Published: 2013/2/21 7:00 • Updated: 2013/2/21 7:00
H Goffy!

Referring to our phone conversation and to keep readers updated:

- import xoops users
- import from csv or excel sheet
Published: 2013/2/21 9:12 • Updated: 2013/2/21 9:12

- import xoops users
- import from csv or excel sheet

- Importing from other modules can be really nice ( via plugins or database fields ).

I am mailing my "weblinks" module site-owners a few times a year ( 3 sites, average 15,000 each ) and doing it 50 a session is annoying
Published: 2013/2/26 17:02 • Updated: 2013/2/26 17:02

I added an import tool to the module, please download "download nightly" from
Following plugins are available at the moment:
- RMBulletin
- Smartpartner
- Weblinks
- Xoopsuser

@ tvzook: Please can you test whether the plugin weblinks work as you want?

Any other suggestions for a plugin?
Published: 2013/3/4 11:12 • Updated: 2013/3/4 11:12
I first tried to import xoopsmembers, but it failed with ~ 1000 members (one members group) and was o.k. with other group ( ~100 members ) ..... more or less the same with the CSV importer.

I'll test the weblinks and will report
Published: 2013/3/5 18:13 • Updated: 2013/3/5 18:13
seems like lne 47 in the plugin file should be :
$sql "SELECT `mail`, `name` FROM ".$xoopsDB->prefix("weblinks_link");

but it gives me a white screen ....
about 16,000 users ...
Published: 2013/3/5 18:28 • Updated: 2013/3/5 18:28
about 16,000 users ...

We need to be able to import even 150,000 users, as it would be good to use this module on our Website too
Published: 2013/3/5 19:33 • Updated: 2013/3/5 19:33
150K ... I'm probably among the first 10,000

after some tests: only groups of about 150 users are getting imported, so the process needs to be divided to packets .....
Published: 2013/3/5 20:21 • Updated: 2013/3/5 20:21

At the moment I generate a form after loading the data, and I think, there could be the problem (form gets to big, to much fields).
I think I make a temporary table with the data, than you can go through in packets

I give you feedback, if available
Published: 2013/3/6 4:59 • Updated: 2013/3/6 4:59
hi tzvook

seems like lne 47 in the plugin file should be :

$sql = "SELECT `mail`, `name` FROM ".$xoopsDB->prefix("weblinks_link");

sorry, my fault, will be corrected

is it ok to take field 'name' as lastname, or should I take another one (e.g. 'company')?
Published: 2013/3/6 5:05 • Updated: 2013/3/6 5:06
Name is o.k.

Actually - the "lid" field is important here - for a placeholder ( it's the website the user sent to the module - maybe in the future - if you'll do something like a custom placeholders)
Published: 2013/3/6 12:39 • Updated: 2013/3/6 12:39
hi tzvook

I tried a lot and this is the best solution, I found
it is a hard job to avoid cache overflow with big imports, so I splitted the import

first limit: only 100000 lines (e.g. of a csv-file) can be stored in temporary importtable
second limit: you can finally import data from temporary importtable in packages of max. 25000

I tested with a csv-file with 150k emailaddresses:
- run import first time (email 1 to 100000)
- import emails in packages of 25k
- run import second time (selected option: skip existing subscriptions)
- import finally emails 100001 to 150000 in packages of 25k

if filesize is not too big for upload, you can repeat as often you want.

test with import from rmbulletin (150k emails) was also successful

if you get somewhere a white page, it is no problem, because if option "skip existing subscriptions" is selected you can restart at the first not imported email-address.

can you please test download nightly version 166 from and give me feedback
Published: 2013/3/27 3:27 • Updated: 2013/3/27 3:27
Could somebody maybe tell me, where I can edit the template files? I check in the template folder (xnewsletter/templates) but I couldn't find the corresponding lines.
Published: 2013/4/15 3:14 • Updated: 2013/4/15 3:14
Newsletter templates are language depending. So you can find them under /xNewsletter/language/*yourlanguagehere*/templates
Published: 2013/4/15 7:24 • Updated: 2013/4/15 7:24
Newsletter templates are language depending. So you can find them under /xNewsletter/language/*yourlanguagehere*/templates

That's just perfect! Since I have to do newsletters in four languages!
Published: 2013/4/15 8:24 • Updated: 2013/4/15 8:24
Humm ... don't expect to much from that, since the template is always read from the set system language. So you have to design a template for every language, create newsletter categories for every language - so everyone can sign up to it's prefered newsletter language - and assign corresponding language-based-template to your newsletter.

Maybe a little bit tricky but should work.
Published: 2013/4/15 13:22 • Updated: 2013/4/15 13:22
In my case, it's not tricky. It's also quite practical that our newsletter has a really basic design. The great thing aobut this module is that I can throw phplist over bord, since I just don't need it anymore. One "system" less to explain to employees! That's always a good thing.
Published: 2013/4/18 4:01 • Updated: 2013/4/18 4:01