PHPackages                             woutersf/email-rss-import-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Mail &amp; Notifications](/categories/mail)
4. /
5. woutersf/email-rss-import-bundle

ActiveMautic-plugin[Mail &amp; Notifications](/categories/mail)

woutersf/email-rss-import-bundle
================================

Import RSS feed items into Mautic email builder with customizable MJML templates

v1.0.0(5mo ago)301[1 PRs](https://github.com/woutersf/MauticEmailRssImportBundle/pulls)GPL-3.0-or-laterJavaScriptPHP ^7.4|^8.0

Since Nov 27Pushed 5mo ago1 watchersCompare

[ Source](https://github.com/woutersf/MauticEmailRssImportBundle)[ Packagist](https://packagist.org/packages/woutersf/email-rss-import-bundle)[ RSS](/packages/woutersf-email-rss-import-bundle/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (1)Versions (2)Used By (0)

Mautic Email RSS Import Bundle
==============================

[](#mautic-email-rss-import-bundle)

A powerful Mautic plugin that seamlessly integrates RSS feed content into your emails using the GrapesJS email builder. Import news articles, blog posts, or any RSS feed content directly into your email campaigns with a single click.

Features
--------

[](#features)

- 🎯 **GrapesJS Integration** - Native block in the GrapesJS builder for easy content import
- 📰 **RSS Feed Support** - Import content from any RSS feed
- 🎨 **Customizable Templates** - Define your own MJML templates with token support
- ✅ **Multi-Selection** - Select multiple RSS items at once
- 🔧 **Flexible Configuration** - Configure RSS URL, fields, and templates per installation
- 🚀 **No Core Modifications** - Clean extension using Mautic's plugin system

Screenshots
-----------

[](#screenshots)

### 1. GrapesJS Block

[](#1-grapesjs-block)

Find the RSS Feed block in your GrapesJS email builder's block panel:

[![RSS Feed Block](Assets/button.png)](Assets/button.png)

### 2. Plugin Configuration

[](#2-plugin-configuration)

Configure your RSS feed settings in Mautic Settings → Plugins:

[![Plugin Configuration](Assets/config.png)](Assets/config.png)

### 3. Content Selection

[](#3-content-selection)

Select the RSS items you want to import into your email:

[![RSS Feed Selection](Assets/feed.png)](Assets/feed.png)

Installation
------------

[](#installation)

### Option 1: Composer (Recommended)

[](#option-1-composer-recommended)

1. Add the plugin to your Mautic installation:

    ```
    composer require mautic/email-rss-import-bundle
    ```
2. Clear the Mautic cache:

    ```
    php bin/console cache:clear
    ```
3. Navigate to Mautic Settings → Plugins
4. Click "Install/Upgrade Plugins"
5. Find "Email RSS Import" and click to configure it

### Option 2: Manual Installation

[](#option-2-manual-installation)

1. Clone or download this repository into your Mautic plugins directory:

    ```
    cd /path/to/mautic/plugins
    git clone  MauticEmailRssImportBundle
    ```
2. Clear the Mautic cache:

    ```
    php bin/console cache:clear
    ```
3. Navigate to Mautic Settings → Plugins
4. Click "Install/Upgrade Plugins"
5. Find "Email RSS Import" and click to configure it

### Option 3: Private Repository

[](#option-3-private-repository)

If you're hosting this plugin in a private repository, add it to your `composer.json`:

```
{
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/your-username/mautic-email-rss-import-bundle.git"
        }
    ],
    "require": {
        "mautic/email-rss-import-bundle": "^1.0"
    }
}
```

Then run:

```
composer update mautic/email-rss-import-bundle
php bin/console cache:clear
```

Configuration
-------------

[](#configuration)

Navigate to **Settings → Plugins → Email RSS Import** to configure:

### RSS URL

[](#rss-url)

Enter the URL of the RSS feed you want to import from.

**Default**: `https://feeds.bbci.co.uk/news/rss.xml`

### RSS Fields

[](#rss-fields)

Define which fields to extract from the RSS feed (one per line).

**Available fields**:

- `title` - The article title
- `link` - The article URL
- `description` - Article description/summary
- `category` - Article category/categories
- `pubDate` - Publication date
- `media` - Featured image/media URL

### HTML Template

[](#html-template)

Define the MJML template for each RSS item. Use tokens to insert RSS field values.

**Available tokens**: `{title}`, `{link}`, `{description}`, `{category}`, `{pubDate}`, `{media}`

**Example template**:

```

      {title}

      {description}

    READ MORE

      {category} - {pubDate}

```

Usage
-----

[](#usage)

### In GrapesJS Email Builder

[](#in-grapesjs-email-builder)

1. **Open the Email Builder**

    - Create a new email or edit an existing one
    - Click "Builder" to launch GrapesJS
2. **Find the RSS Feed Block**

    - Look in the left sidebar blocks panel
    - Scroll to the "Extra" category
    - Click on the "RSS Feed" block (orange RSS icon)
3. **Select Content**

    - A modal will appear showing all available RSS items
    - Use checkboxes to select the items you want to import
    - Use "Select All" or "Deselect All" for bulk selection
    - Click "Insert Selected Items"
4. **Save Your Email**

    - The selected RSS items will be inserted into your email
    - Each item will be formatted according to your template
    - Items are inserted in chronological order from the feed

How It Works
------------

[](#how-it-works)

1. **Extension System**: The plugin registers itself with GrapesJS using Mautic's `window.MauticGrapesJsPlugins` extension system
2. **Block Registration**: A custom block is added to the GrapesJS BlockManager
3. **RSS Fetching**: When clicked, the plugin fetches RSS content from your configured feed via AJAX
4. **Token Replacement**: Selected items are processed through the template with tokens replaced by actual values
5. **Content Insertion**: The rendered MJML is inserted into the email canvas

Technical Details
-----------------

[](#technical-details)

### Architecture

[](#architecture)

- **Backend Controller**: `RssController.php` - Fetches and parses RSS feeds
- **Integration Class**: `EmailRssImportIntegration.php` - Handles plugin configuration
- **Frontend Extension**: `grapesjs-rss-import.js` - GrapesJS block and modal functionality
- **Event Subscriber**: `AssetSubscriber.php` - Injects JavaScript assets

### Supported RSS Formats

[](#supported-rss-formats)

- RSS 2.0
- Media RSS (for featured images)
- Multiple categories per item

### Requirements

[](#requirements)

- Mautic 4.x or higher
- PHP 7.4 or higher
- GrapesJS Builder Plugin enabled
- SimpleXML PHP extension

Troubleshooting
---------------

[](#troubleshooting)

### RSS Feed Block Not Showing

[](#rss-feed-block-not-showing)

1. Ensure the plugin is **Published** in Settings → Plugins
2. Ensure the "Active" setting is set to **Yes** in plugin configuration
3. Clear Mautic cache: `php bin/console cache:clear`
4. Check browser console for JavaScript errors

### MJML Errors When Saving

[](#mjml-errors-when-saving)

- Ensure your template only contains valid MJML components
- Do not wrap the template in `` or `` tags (these are added automatically)
- Ensure all text content is wrapped in `` components
- Validate your MJML at

### RSS Feed Not Loading

[](#rss-feed-not-loading)

- Check that the RSS URL is accessible from your server
- Verify the RSS URL returns valid XML
- Check server logs for any PHP errors
- Ensure your server can make outbound HTTP requests

Development
-----------

[](#development)

### File Structure

[](#file-structure)

```
MauticEmailRssImportBundle/
├── Assets/
│   ├── css/
│   │   └── rss-import.css
│   ├── img/
│   │   └── rss-icon.png
│   └── js/
│       └── grapesjs-rss-import.js
├── Config/
│   └── config.php
├── Controller/
│   └── RssController.php
├── EventListener/
│   └── AssetSubscriber.php
├── Integration/
│   └── EmailRssImportIntegration.php
├── Resources/
│   └── views/
├── Translations/
│   └── en_US/
│       └── messages.ini
├── MauticEmailRssImportBundle.php
└── README.md

```

### Extending the Plugin

[](#extending-the-plugin)

To add custom RSS field parsing, modify `RssController.php`:

```
// Handle custom namespace
$namespaces = $item->getNamespaces(true);
if (isset($namespaces['custom'])) {
    $custom = $item->children($namespaces['custom']);
    $value = (string) $custom->customField;
}
```

Author
------

[](#author)

Frederik Wouters

License
-------

[](#license)

This plugin is provided as-is for use with Mautic installations.

Support
-------

[](#support)

For issues, questions, or contributions, please open an issue in the repository.

Publishing to Packagist
-----------------------

[](#publishing-to-packagist)

To make this plugin available via Composer for everyone:

1. **Push to GitHub** (or GitLab/Bitbucket):

    ```
    git init
    git add .
    git commit -m "Initial release v1.0.0"
    git tag v1.0.0
    git remote add origin https://github.com/your-username/mautic-email-rss-import-bundle.git
    git push -u origin main
    git push --tags
    ```
2. **Submit to Packagist**:

    - Go to
    - Sign in with your GitHub account
    - Click "Submit"
    - Enter your repository URL: `https://github.com/your-username/mautic-email-rss-import-bundle`
    - Packagist will automatically track new releases via your Git tags
3. **Auto-Update Hook** (Optional):

    - In your GitHub repository settings, add Packagist webhook for automatic updates
    - Settings → Webhooks → Add webhook
    - Payload URL: `https://packagist.org/api/github?username=YOUR_USERNAME`

Version Tagging
---------------

[](#version-tagging)

When releasing new versions:

```
# Update composer.json version if needed
git add .
git commit -m "Release v1.1.0"
git tag v1.1.0
git push && git push --tags
```

Packagist will automatically detect the new tag and update the package.

Changelog
---------

[](#changelog)

### Version 1.0.0

[](#version-100)

- Initial release
- GrapesJS block integration
- RSS feed parsing with configurable fields
- MJML template support with token replacement
- Multi-item selection
- Configuration interface
- Drag-and-drop block functionality
- Composer support

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance70

Regular maintenance activity

Popularity5

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity40

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

172d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/42bc3b27606ef65745245b440198e05a62e85dea0ba9f62f2ff2361bfbf1b146?d=identicon)[woutersf](/maintainers/woutersf)

---

Top Contributors

[![woutersf](https://avatars.githubusercontent.com/u/592312?v=4)](https://github.com/woutersf "woutersf (1 commits)")

---

Tags

pluginemailfeedrssMauticimportmjmlgrapesjs

### Embed Badge

![Health badge](/badges/woutersf-email-rss-import-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/woutersf-email-rss-import-bundle/health.svg)](https://phpackages.com/packages/woutersf-email-rss-import-bundle)
```

###  Alternatives

[railsware/mailtrap-php

The Mailtrap SDK provides methods for all API functions.

56770.5k](/packages/railsware-mailtrap-php)[princealikhan/laravel-mautic-api

Free and Open Source Marketing Automation API

415.9k](/packages/princealikhan-laravel-mautic-api)[etailors/mautic-amazon-ses

Amazon SES Mailer Plugin for Mautic

522.0k](/packages/etailors-mautic-amazon-ses)[gourmet/email

Gourmet Email Plugin for rapid CakePHP application development.

175.2k](/packages/gourmet-email)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
