by Félix Martínez on WordPress.org
Effortlessly manage your email campaigns. Schedule, send, and track emails directly from your dashboard to engage your audience like never before.
Transform your WordPress site into a powerful email management hub with our intuitive plugin. Whether you’re running newsletters, promotional campaigns, or customer outreach, this tool empowers you to Schedule Emails (plan campaigns in advance with an easy-to-use scheduler), Personalize Content (Create tailored messages with dynamic content fields), Track Performance (Monitor open rates, click-through rates, and engagement metrics in real time), Seamless Integration: (Connect with popular email services or use your SMTP server), Automation Features: (Set up automated responses and drip campaigns to save time and boost engagement). Perfect for bloggers, small businesses, and marketers, this plugin combines simplicity with robust functionality to ensure your emails get delivered and make an impact. Start growing your audience today!
Email Template Management: Create and manage unlimited email templates using WordPress’s familiar post editor. Each template supports rich HTML content, custom styling, and dynamic shortcodes for personalized messaging.
SMTP Configuration: Full SMTP support with authentication, allowing you to connect to any SMTP server (Gmail, Outlook, custom servers). Configure SMTP host, port, security (TLS/SSL), authentication credentials, and custom sender information. Includes Gmail-specific optimizations for better deliverability.
Email Queue System: Intelligent email queue management that processes emails in controlled batches. Configure sending rates (emails per 10 minutes and daily limits) to prevent server overload and ensure optimal deliverability. Automatic queue pausing when daily limits are reached, with automatic reset after 24 hours.
Scheduled Email Delivery: Schedule emails to be sent at specific times in the future. Perfect for welcome emails, follow-ups, and time-sensitive campaigns. Includes delayed welcome email functionality with configurable delays.
Email Tracking & Analytics: Comprehensive tracking system including:
Email Types & Automation:
WooCommerce Integration: Seamless integration with WooCommerce for e-commerce email automation:
Email Distribution Options: Flexible recipient targeting:
Exception Management: Advanced email filtering system:
Email Records & History: Complete audit trail of all sent emails:
Dashboard & Statistics: Comprehensive dashboard providing:
Email Templates & Branding: Professional email template system:
Dynamic Content & Shortcodes: Powerful shortcode system for personalization:
[user-name] – Display recipient’s name[post-name] – Display post titles with links[new-contents] – Display recently published contentTest Email Functionality: Send test emails to verify templates before sending to all recipients. Test emails bypass queue system and restrictions for immediate delivery.
Error Handling & Logging: Robust error management:
Role-Based Permissions: Fine-grained access control:
Email Queue Management: Advanced queue control:
Welcome Email Management: Dedicated interface for managing welcome emails:
Notifications System: Built-in notification management:
Multilingual Support: Fully translation-ready:
Security Features:
Cron Job Management: Automated background processing:
Form Builder Integration: Advanced form building capabilities:
Public-Facing Features:
Developer-Friendly:
Perfect for bloggers, small businesses, e-commerce stores, and marketers who need a comprehensive email management solution without the complexity of external services. The plugin integrates seamlessly with WordPress and provides all the tools you need to create, send, track, and manage your email campaigns effectively.
This plugin stands on the shoulders of giants
Tooltipster v4.2.8 – A rockin’ custom tooltip jQuery plugin
Developed by Caleb Jacob and Louis Ameline
MIT license
https://calebjacob.github.io/tooltipster/
https://github.com/calebjacob/tooltipster/blob/master/dist/js/tooltipster.main.js
https://github.com/calebjacob/tooltipster/blob/master/dist/css/tooltipster.main.css
Owl Carousel v2.3.4
Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
Copyright 2013-2018 David Deutsch
https://owlcarousel2.github.io/OwlCarousel2/
https://github.com/OwlCarousel2/OwlCarousel2/blob/develop/dist/owl.carousel.js
Trumbowyg v2.27.3 – A lightweight WYSIWYG editor
alex-d.github.io/Trumbowyg/
License MIT – Author : Alexandre Demode (Alex-D)
https://github.com/Alex-D/Trumbowyg/blob/develop/src/ui/sass/trumbowyg.scss
https://github.com/Alex-D/Trumbowyg/blob/develop/src/ui/sass/trumbowyg.scss
https://github.com/Alex-D/Trumbowyg/blob/develop/src/trumbowyg.js
This section provides comprehensive documentation for developers who want to integrate or extend the MAILPN plugin functionality.
mailpn.phpMAILPN_VERSION, MAILPN_DIR, MAILPN_URL, MAILPN_CPTSmailpn_mail (emails), mailpn_rec (records)The primary method to send emails is through the [mailpn-sender] shortcode:
`
do_shortcode(‘[mailpn-sender
mailpn_type=”email_welcome”
mailpn_user_to=”1″
mailpn_subject=”Email Subject”
mailpn_id=”123″
mailpn_once=”1″
]Email content here[/mailpn-sender]’);
`
Parameters:
* mailpn_user_to (required): User ID or email address
* mailpn_id (optional): Post ID of type mailpn_mail
* mailpn_type (optional): Email type (email_welcome, email_published_content, email_coded, etc.)
* mailpn_subject (optional): Email subject line
* mailpn_once (optional): Set to 1 to send only once per user
* post_id (optional): Related post ID
* post_parent_id (optional): Parent post ID
`
$mailing = new MAILPN_Mailing();
$result = $mailing->mailpn_sender([
‘mailpn_user_to’ => 1,
‘mailpn_id’ => 123,
‘mailpn_type’ => ’email_welcome’,
‘mailpn_subject’ => ‘Welcome’,
‘mailpn_once’ => 1
], ‘Email content’);
[mailpn-text query=”addressee_name” user_id=”1″]Available Shortcodes
Content Shortcodes
*- Display user data (name, email, ID, nickname)[user-name]
*- Display recipient's name[post-name]
*- Display post title with link[new-contents]
*- Display recently published content[mailpn-contents post_id=”123″]
*- Display content based on email type[mailpn-mail]Utility Shortcodes
*- Render complete email[mailpn-call-to-action]
*- Call-to-action button[mailpn-notifications]
*- Notification system[mailpn-notifications-counter]
*- Notification counterget_option()Configuration Options
Access plugin settings using WordPress:mailpn_smtp_enabledSMTP Configuration
*- Enable/disable SMTP ('on'/'off')mailpn_smtp_wp_native_emails
*- Use SMTP for native WordPress emails ('on'/'off'). When on, password recovery, new user notification, comment notifications, admin notifications and any other wp_mail() call use SMTP.mailpn_smtp_host
*- SMTP host addressmailpn_smtp_port
*- SMTP port numbermailpn_smtp_secure
*- Security type ('tls', 'ssl', or 'none')mailpn_smtp_username
*- SMTP usernamemailpn_smtp_password
*- SMTP passwordmailpn_sent_every_ten_minutesSending Limits
*- Emails per 10 minutes (default: 5)mailpn_sent_every_day
*- Daily email limit (default: 500)mailpn_from_nameSender Information
*- Sender namemailpn_from_email
*- Sender email addressmailpn_exception_emailsEmail Exceptions
*- Enable exception system ('on'/'off')mailpn_exception_emails_domains
*- Exclude email domainsmailpn_exception_emails_addresses
*- Exclude specific email addressesmailpn_click_trackingTracking
*- Enable click tracking ('on'/'off')mailpn_open_tracking` – Enable open tracking (‘on’/’off’)
*
// Get current queue
$queue = get_option('mailpn_queue'); // Array: [mail_id => [user_ids]]
// Process queue manually
$mailing = new MAILPN_Mailing();
$mailing->mailpn_queue_process();
// Check queue status
$paused = get_option('mailpn_queue_paused'); // 'on' if paused
`
Adding Emails to Queue
$mail_id = 123;
$users = get_users([‘fields’ => ‘ids’]);
$queue = get_option(‘mailpn_queue’, []);
foreach ($users as $user_id) {
$queue[$mail_id][] = $user_id;
}
update_option(‘mailpn_queue’, $queue);
// Queue is processed automatically via cron every 10 minutes
`
// Automatically replace links with tracking (built-in)
// Or manually:
$content = MAILPN_Click_Tracking::replace_links($content, $mail_id, $user_id);
// Track click manually
MAILPN_Click_Tracking::track_click($mail_id, $user_id, $url);
`Open Tracking
Open tracking is automatic via tracking pixel. Data is stored in `mailpn_rec` custom post type.Statistics
Access statistics via AJAX action: `wp_ajax_mailpn_get_statistics` (requires proper permissions)Hooks and Filters
Actions
* `mailpn_form_save` - Fired when forms are saved
* `mailpn_cron_daily` - Daily cron task
* `mailpn_cron_ten_minutes` - Every 10 minutes cron task
* `mailpn_cron_weekly` - Weekly cron taskFilters
* `wp_mail_from` - Customize sender email
* `wp_mail_from_name` - Customize sender name
* `retrieve_password_message` - Customize password reset email
* `wp_new_user_notification_email` - Customize new user email
WooCommerce Integration
The plugin automatically integrates with WooCommerce if active:
* Purchase completion emails
* Abandoned cart emails
* Cart activity tracking
Example Usage
Send Welcome Email
$user_id = 1;
$subject = ‘Welcome to our site’;
$content = ‘
Welcome!
Thanks for registering.
‘;
do_shortcode(‘[mailpn-sender
mailpn_type=”email_welcome”
mailpn_user_to=”‘ . $user_id . ‘”
mailpn_subject=”‘ . esc_attr($subject) . ‘”
mailpn_once=”1″
]’ . $content . ‘[/mailpn-sender]’);
`
“`
$user_id = 1;
$mail_id = 123;
do_shortcode(‘[mailpn-sender
mailpn_user_to=”‘ . $user_id . ‘”
mailpn_id=”‘ . $mail_id . ‘”
mailpn_subject=”Important Notification”
]Hello [user-name], this is a personalized email.[/mailpn-sender]’);
MAILPN_Forms::mailpn_sanitizer()Security Considerations
* All AJAX requests require nonce verification
* Input sanitization via* KSES filtering for HTML contentincludes/class-mailpn.php
* User permission checks throughout
* Secure SMTP password storageKey Developer Files
*- Main plugin classincludes/class-mailpn-mailing.php
*- Email sending functionalityincludes/class-mailpn-settings.php
*- Settings managementincludes/class-mailpn-ajax.php
*- AJAX handlersincludes/class-mailpn-cron.php
*- Scheduled tasksincludes/class-mailpn-click-tracking.php` – Click tracking
*
For developer support, visit the plugin’s support forum or contact: info@padresenlanube.com