=== maennchen1 Newsletter Germany ===
Contributors: maennchen1de
Tags: newsletter, post notification, subscribers, mailing list, double opt-in
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 8.1
Stable tag: 2.1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Send newsletters from your own WordPress. Subscribers stay in your database, mail goes out over your own server.

== Description ==

maennchen1 Newsletter Germany turns WordPress into a newsletter system. Subscribers live in tables of your own WordPress database, and mail is sent over the mail path of your own server. No subscriber address and no sending statistic is handed to a third party, because there is no third party involved.

The plugin was written for German and European operators, where data protection law makes the location of subscriber data a practical question rather than a preference.

**New posts go out by themselves**

Switch on post notification, and every post you publish reaches your subscribers by mail: each one on its own, or collected into one digest, daily or weekly. You choose the groups, the categories and the template. A delay of a few minutes leaves time to fix a typo, and each notification is an ordinary newsletter that you can still change before it goes out.

**What it does**

* A subscription form for your site, as a block, a shortcode or a widget
* Double opt-in, with a confirmation mail the operator writes
* An unsubscribe link in every mail: one click, no login (or confirmed by mail, if you prefer)
* Subscriber groups, so one newsletter can go to a chosen audience
* Newsletters in HTML and plain text, sent as multipart mail
* Scheduled sending over WP-Cron, in batches sized for shared hosting
* An archive page and a browser view for readers whose mail client mangles HTML
* Placeholders such as %abo_vorname% anywhere in subject and body
* Layout templates, and your own templates in an upload folder that updates never touch

**Optional modules**

Each of these is switched on or off under Newsletter > Configuration > Modules:

* A sending log of who received which newsletter
* Placeholder rules, for example for salutations
* Post notification, immediately or collected as a daily or weekly summary
* Spam protection for the subscription and unsubscription form, without a puzzle, without a third party and without storing an IP address

**Requirements**

PHP 8.1 or newer with the extensions dom and simplexml. A working mail path on the server — either PHP mail, an SMTP account or wp_mail.

**More**

* [Manual](https://doc.maennchen1.de/wpnewslettergermany/aktuell/en/), in English and German
* [Paid edition](https://wpnewslettergermany.maennchen1.de/) with further modules, sold separately (website in German)

== Installation ==

1. Upload the plugin through Plugins > Add New > Upload, or unpack the ZIP into `wp-content/plugins`
2. Activate it in the plugin list. The database tables are created on activation
3. Open Newsletter > Configuration and set the sender address and the mail path
4. Create at least one group under Newsletter > Groups. Subscribers are assigned to groups
5. Open Newsletter > Configuration > Page configuration and choose "Create and assign new" for the subscription, confirmation, unsubscribe and archive pages, then save. Until these pages exist, the backend shows a notice that names the missing ones
6. Place the subscription form on your site: insert the block "Newsletter form", write the shortcode `[wpng_form]` into a page, or use the widget

== Frequently Asked Questions ==

= Where is the subscriber data stored? =

In tables of your own WordPress database, prefixed with the prefix of your installation. Nothing is sent to the manufacturer or to any other service.

= Which mail path is used? =

Whichever you configure: the internal PHP mail function, an SMTP account, or wp_mail so that an existing SMTP plugin handles delivery. Deliverability depends on that path — SPF, DKIM and DMARC are set up at your host, not in this plugin.

= Are IP addresses of subscribers stored? =

No. Neither IP addresses nor user agents are recorded.

= Can a subscriber be deleted completely? =

Yes. Deleting a subscriber also deletes their group assignments and their sending records.

= Does the plugin work with the privacy tools of WordPress? =

Yes. Under Tools > Export Personal Data and Tools > Erase Personal Data, enter a mail address and the plugin answers: the subscriber record, groups, and which newsletters were sent and when. Erasing removes all of it. Settings > Privacy offers a suggested text for your privacy policy.

= What happens to the data when the plugin is deleted? =

Nothing, unless you say so. By default subscribers, newsletters and settings survive the deletion of the plugin, so that removing it by accident costs nothing. Under Settings > Maintenance you can switch this: with the setting on, deleting the plugin removes all tables, all settings including stored passwords, the upload folder and the cron entry. The pages the plugin created for subscription, confirmation, unsubscribe and archive are always kept — they may carry your own text.

= Does sending survive a short PHP time limit? =

Yes. Sending runs in batches over WP-Cron, and the batch size is configurable. The default is sized for shared hosting with a 30 second limit.

= Is there a free and a paid edition? =

Yes. This plugin is the free edition and complete in itself: nothing in it is locked, limited in time or waiting for a key. The manufacturer sells a paid edition with further modules separately, outside this directory.

== Screenshots ==

1. Writing a newsletter: visual editor, HTML and text version, target groups and scheduling.
2. The modules, switched on and off in one place. Here post notification: new posts go out by themselves, one by one or as a weekly digest.
3. The templates, shown with your own logo, accent colour and site name.
4. The newsletter list with the sending status of each issue.
5. Subscribers with groups and status, with CSV import and export.
6. The subscription form on your site, placed as a block, shortcode or widget.
7. "Data collected": what the plugin stores, where and for how long, for your privacy policy.

== External services ==

This plugin contacts no server of the manufacturer and no third-party service. Mail goes out over the mail path of your own server, and no subscriber data leaves your installation.

One setting fetches content from elsewhere: with "Embed images in the mail" switched on, the plugin downloads every image used in a newsletter from the address it is hosted at (usually your own site) and attaches it to the mail. Nothing is sent along except the request for the image. The setting is off by default.

== Changelog ==

The [full changelog](https://doc.maennchen1.de/wpnewslettergermany/aktuell/en/ueber-wpnewslettergermany/changelog/) is in the manual. The file changelog.txt inside the plugin folder lists every version of this edition.

= 2.1.0 =
* Security: unsubscribing — the unsubscribe link in the newsletter did not check its token
* Added: maintenance — merge duplicate subscribers
* Added: sending — mails rejected for the time being are retried later, encryption for SMTP selectable, one-click unsubscribe in the mail program, interval of the internal cron selectable, next run right away when a run's time is up, "Start sending" continues until done, sending status with the recipients at the start
* Added: subscriber mails — texts revised and editable in the backend, in the layout of the newsletters, test mail, notice to the administrator with address and groups
* Added: subscribers — filter by group and status as drop-downs, combinable, column "Created on"
* Added: templates — legally required details in the footer from a setting
* Changed: data collection — reasons of mails not sent listed
* Changed: menu — "Sender and subject" is now "Automatic mails"
* Changed: sending — sending time reduced by up to 60 % (depending on the MTA)
* Changed: subscribers — the list remembers page, filter and sort order
* Fixed: interface — dates and times in German format in the English interface
* Fixed: newsletters — a copy lost template, subject, sender and format
* Fixed: sending — errors of the WordPress mailer counted as sent, special characters from subscriber fields in HTML, duplicate addresses received the newsletter more than once, two simultaneous sending runs sent mails twice, "Start sending" broke off on large lists and held up sending
* Fixed: sending log — mails not sent were shown as sent
* Fixed: subscriber mails — the unsubscribe confirmation claimed deleted data when the subscriber was only set inactive, greeting without a name
* Fixed: subscribers — salutation shown as a number, CSV import with empty fields, CSV export without header, duplicate addresses when adding and importing
* Fixed: subscription — mail subjects stayed in English after the site language was changed
* Fixed: templates — "Zeitung" showed the month in English on non-English sites

= 2.0.2 =
* Changed: translations — every text can now be translated on translate.wordpress.org

== Upgrade Notice ==

= 2.0.0 =
Contains several security fixes, among them stronger tokens in confirmation and unsubscribe links. If you had selected CKEditor as the editor, this update switches you back to the WordPress core editor.
