PHPackages                             madj2k/t3-postmaster - 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. [Queues &amp; Workers](/categories/queues)
4. /
5. madj2k/t3-postmaster

ActiveTypo3-cms-extension[Queues &amp; Workers](/categories/queues)

madj2k/t3-postmaster
====================

Extension sending e-mails and bulk-mailings

v10.4.2-stable(1y ago)016212GPL-2.0+PHPPHP &gt;=7.4

Since Mar 1Pushed 1y ago2 watchersCompare

[ Source](https://github.com/skroggel/typo3-postmaster)[ Packagist](https://packagist.org/packages/madj2k/t3-postmaster)[ Docs](https://www.steffenkroggel.de)[ RSS](/packages/madj2k-t3-postmaster/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependencies (4)Versions (23)Used By (12)

Postmaster
==========

[](#postmaster)

Extension for mass email sending.

Features
--------

[](#features)

- Time-delayed sending
- Opening rate, click rate &amp; bounce rate via BE module
- Automatic detection of hard bounces
- Personalized mass mailing
- Optimized to reduce process load and database space usage
- Fully compatible with fluid-templates
- Numerous ViewHelpers
- General API for use in own extensions
- Included List-Unsubscribe-Header
- Attachments possible
- Elaborated caching-framework for high performance
- Multi-Part E-Mails (Plaintext / HTML)

Usage in your own extension
---------------------------

[](#usage-in-your-own-extension)

The extension has a Mailservice and several ViewHelpers that can be used in your extension.

You can find an example for the usage of the Mailservice in the Example-Folder. There you can also find an example for the usage of the ViewHelpers in the corresponding e-mail templates.

Setup
-----

[](#setup)

1. Include the TypoScript in your root-page
2. Setup the CLI-commands in the scheduler

CLI-Commands
------------

[](#cli-commands)

### postmaster:send

[](#postmastersend)

This command is responsible for sending all of your e-mails. Parameters:

- emailsPerJob -&gt; How many queue-jobs are to be processed during one command-call
- emailsPerInterval -&gt; How may emails are to be sent at maximum for each queue-job
- settingsPid -&gt; Pid to fetch TypoScript-settings from',
- sleep -&gt; How many seconds the script should sleep after each e-mail sent

### postmaster:analyseStatistics

[](#postmasteranalysestatistics)

This script analyses the statistics for sent e-mails Parameter:

- daysAfterSendingStarted -&gt; Defines how long after sending has been started the statistics should be updated (default: 30 days)

postmaster: cleanup
-------------------

[](#postmaster-cleanup)

Deleted old e-mails with or without the corresponding statistics Parameters:

- daysAfterSendingFinished -&gt; Defines how many days after its sending has been finished an queueMail and their corresponding data will be deleted (default: 30 days)
- types -&gt; Defines which types of mails the cleanup should look for (comma-separated) (Default: only type "0")
- includingStatistics -&gt; Defines whether the statistics should be deleted too (Default: 0)

postmaster:analyseBounceMails
-----------------------------

[](#postmasteranalysebouncemails)

Processed the bounced mails and puts their response-data into the database.

**NOTE: to be able to process bounce-mails you have to use a POP3/IMAP-account!**

Parameters:

- username -&gt; The username for the bounce-mail account
- password -&gt;The password for the bounce-mail account
- host -&gt; The host of the bounce-mail account
- port -&gt; The port for the bounce-mail account (default: 143 - IMAP)
- usePop3 -&gt; Use POP3-Protocol instead of IMAP (default: 0)
- tlsMode -&gt; The connection mode for the bounce-mail account (none, tls, notls, ssl, etc.; default: notls)
- inboxName -&gt; The name of the inbox (default: INBOX)
- deleteBefore -&gt; If set, all mails before the given date will be deleted (format: yyyy-mm-dd)
- maxEmails -&gt; Maximum number of emails to be processed (Default: 100)

postmaster:processBounceMails
-----------------------------

[](#postmasterprocessbouncemails)

Processes the fetched bounced-mails by their response-codes and sets the status of the corresponding recipients in the database Parameter:

- maxEmails -&gt; Maximum number of emails to be processed (Default: 100)

ViewHelpers
-----------

[](#viewhelpers)

### cache.renderCache

[](#cacherendercache)

If you e.g. send a newsletter to large amount of recipients there may be a lot of content in your newsletter that is the same for each recipient. In that case you should cache the content in order to get a better performance. You can also add an additional string to the cacheIdentifier e.g. in order to distinguish custom sortings and you can define non-cached markers. Example:

```

    CONTENT TO CACHE

```

### email.replace.redirectLinks

[](#emailreplaceredirectlinks)

Replaces all link with a redirect link in order to track them for the statistics Example:

```

    Testen Sie hier: http://www.google.de
    Testen Sie da: [http://www.yahoo.de/#anchor-1]
    Testen Sie dort: mail@example.com
    Testen Sie überall: #anchor-2

        Testen Sie hier
        Testen Sie da
        Testen Sie dort
        Testen Sie überall

```

Result:

```
    Testen Sie hier: http://www.example.com/umleitung/postmaster/redirect/1?no_cache=1&tx_postmaster_tracking%5Burl%5D=http%3A%2F%2Fwww.google.de
    Testen Sie da: [http://www.example.com/umleitung/postmaster/redirect/1?no_cache=1&tx_postmaster_tracking%5Burl%5D=http%3A%2F%2Fwww.yahoo.de%2F%23anchor-1
    Testen Sie dort: mail@example.com
    Testen Sie überall: #anchor-2

        Testen Sie hier
        Testen Sie da
        Testen Sie dort
        Testen Sie überall

```

### email.replace.rteLinks

[](#emailreplacertelinks)

If you use a text from a backend-richtext-editor you may want to replace the RTE-Links to real ones. This ViewHelper does the job for you. Works with old and new RTE-links. Example:

```

    Testen Sie hier mit Klick!
    Testen Sie da mit Klick!
    Testen Sie dort mit Klick!
    Testen Sie überall mit Klick!
    Testen Sie hüben mit Klick!
    Testen Sie drüben mit Klick!

    Testen Sie hier mit Klick!
    Testen Sie da mit Klick!
    Testen Sie dort mit Klick!
    Testen Sie überall mit Klick!
    Testen Sie hüben mit Klick!
    Testen Sie drüben mit Klick!

        Testen Sie hier mit Klick!
        Testen Sie da mit Klick!
        Testen Sie dort mit Klick!
        Testen Sie überall mit Klick!
        Testen Sie hüben mit Klick!
        Testen Sie drüben
