Dprime Newsletter v1.3.0 Pro
Newsletter manager for the Dprime ecosystem. Subscribers, campaigns, GDPR tools, and sending via your existing WordPress mail backend.
Installation
- Make sure Dprime Core is installed and your site is connected to an active Dprime subscription.
- Download Dprime Newsletter from my.dprime.au and install via Plugins > Add New > Upload Plugin.
- Activate the plugin. The setup wizard appears on first activation. Walk through 5 steps to configure sending preferences.
- Open Dprime > Newsletter to access the full admin.
Subscribers tab
Lists every subscriber with their status, source, and date added. Filter by status using the pills at the top (All, Subscribed, Pending, Unsubscribed, Bounced). Each row has edit, view details, and delete actions. Bulk delete works via the checkbox column. The export button downloads a CSV of the currently filtered view.
CSV import
Use the Import CSV tab to bulk-add subscribers. Expected column headers: email, first_name, last_name, status. Email is the only required column. Status defaults to subscribed if omitted. If an email already exists in the list, the import updates the existing record rather than creating a duplicate.
email,first_name,last_name,status alice@example.com,Alice,Smith,subscribed bob@example.com,Bob,,subscribed carol@example.com,Carol,Jones,pending
Save your CSV with UTF-8 encoding. Quote any fields that contain commas.
Shortcode
Embed a subscribe form on any page or post:
[dprime_newsletter]
| Attribute | Default | Purpose |
|---|---|---|
title | empty | Heading text above the form |
description | empty | Subtext below the heading |
button | Subscribe | Submit button label |
name | false | Set to "true" to show a first name field |
The form submits via AJAX. No page reload. With GDPR mode on, new signups become pending and receive a confirmation email before being activated.
Settings
| Setting | What it does |
|---|---|
| From name | Display name shown in the From field of outgoing emails |
| From email | Sender address. Use a domain you control to avoid spam filters. |
| Reply-to email | Where replies go. Can differ from From email. |
| GDPR mode | Enables double opt-in, consent timestamps, and a privacy notice on the signup form |
Subscriber statuses
| Status | Meaning | Receives campaigns |
|---|---|---|
| Subscribed | Active subscriber | Yes |
| Pending | Signed up, awaiting double opt-in confirmation | No |
| Unsubscribed | Opted out. Record kept to prevent re-add. | No |
| Bounced | Hard bounce on a campaign send | No |
GDPR tools
- Double opt-in. When GDPR mode is on, new signups receive a confirmation email and stay in Pending status until they click the link.
- Unsubscribe links. One-click unsubscribe URLs are appended to campaign footers automatically when the auto_unsubscribe_footer setting is enabled.
- WordPress privacy tools. Dprime Newsletter registers a personal data exporter and eraser under WordPress's built-in Tools > Privacy screen. The exporter returns all subscriber fields; the eraser hard-deletes the record.
FAQ
What mail backend does this use?
Standard WordPress wp_mail. Any SMTP plugin you have installed (FluentSMTP, WP Mail SMTP, Postmark, etc.) is automatically used. No additional configuration is needed in Newsletter.
What happens if my Dprime subscription lapses?
The plugin enters a 30-day grace period. During grace all features keep working but a warning banner appears on every Newsletter page. After 30 days the plugin stops sending until you renew. Subscriber data is always preserved.
Can I migrate subscribers from Mailchimp or another service?
Yes. Export a CSV from your current provider, map the columns to email, first_name, last_name, and status, then import via the Import CSV tab.
Override classes
.dp-nl-page { /* outer page wrapper */ } .dp-nl-list { /* subscriber list table */ } .dp-nl-sub-row { /* individual subscriber row */ } .dp-nl-badge { /* status badge */ } .dp-nl-filter-pills { /* status filter pill row */ } .dp-nl-filter-pill { } .dp-nl-filter-pill.is-active { } .dp-nl-import-zone { /* CSV import zone */ } .dp-nl-code { /* code block */ } .dp-nl-attr-table { /* shortcode attribute table */ } .dp-nl-shortcode-block { /* shortcode display row */ }