fucodo/massmailer

Installs: 1

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

Type:neos-package

pkg:composer/fucodo/massmailer

dev-main 2025-12-30 16:57 UTC

This package is auto-updated.

Last update: 2025-12-30 16:57:07 UTC


README

This package provides a simple way to send mass mailings using the kaystrobach/fluidemail package.

Installation

composer require fucodo/massmailer

Usage

To send a mass mailing, you need to create a YAML configuration file and run the following command:

./flow mailing:sendmassmailing --configuration-file path/to/your-config.yaml

You can also filter and display data from your configuration file:

./flow mailing:filterdata --configuration-file path/to/your-config.yaml --domain example.com

Configuration Reference

The following is an example of a configuration file (your-config.yaml):

config:
  senderCommand: |-
    ./flow mailing:sendmassmailing mailer.config.yaml
  templateFile: "MailerTemplateFile.html"
  signature: |-
    Best regards,
    John Doe

    Example Company Inc.
    Main Street 123
    12345 Springfield

    Phone: +1 555 123456
    E-Mail: john.doe@example.com
    Web: www.example.com

    PGP Fingerprint: 0000 0000 0000 0000 0000  0000 0000 0000 0000 0000

    Managing Director: Jane Doe
    Registry Office: Springfield
    Tax ID: 123/456/78901
    VAT ID: US 123 456 789
  defaultData:
    subject: 'System Upgrade {defaultData.system.version}'
    returnPath: 'noreply@example.com'
    replyTo: 'support@example.com'
    color: '3498db'
    logo:
      alt: Example Company Logo
      inline: data:image/svg+xml;base64,...(base64 encoded SVG)...
    system:
      version: '2.0'

  content:
    - type: Text
      arguments:
        text: Hello {recipient.name},
    - type: Text
      arguments:
        - your instance website ({recipient.data.website}) has been updated.
    - type: Text
      arguments:
        - 'The currently installed version:'
    - type: TextCenterCode
      arguments:
        - '{defaultData.system.version}'
    - type: Button
      arguments:
        - Release Notes
        - https://example.com/release-{defaultData.system.version}/

    - type: Text
      arguments:
        - 'PS: This email was automatically generated. If you have any questions, please contact our support.'
    - type: TextPre
      arguments:
        - '{signature}'

recipients:
    #------------------------------------------------------------------------------------------
    # Test recipients
    -
      name: "John Doe"
      email: "john.doe@example.com"
      data:
        cc:
          - jane.doe@example.com
        website: 'https://example.com'

    #------------------------------------------------------------------------------------------
    # Customer recipients
    -
      name: "Customer One"
      email: "customer.one@example.org"
      data:
        cc:
          - support@example.org
        orderId: A001-2025
        website: 'https://customer-one.example.org'

Placeholders

You can use placeholders in your configuration:

  • {recipient.name}: Name of the recipient.
  • {recipient.mail}: Email address of the recipient.
  • {recipient.data.key}: Custom data provided for each recipient.
  • {defaultData.key}: Global data defined in the config.defaultData section.
  • {signature}: The signature defined in config.signature.