Code Monkey home page Code Monkey logo

direct_mail's Introduction

Direct Mail

The »Direct Mail« extension implements an advanced newsletter mailer system for the TYPO3 CMS. This extension provides not only a system for sending a newsletter from TYPO3 CMS, but also personalizing it and collect some statistics.

The extension builds a newsletter based on a TYPO3 page, so that you can create newsletter layout the same way you create a website layout. It also lets editors select between different recipient groups for each newsletter.

The extension provides several scheduler tasks to let integrators control when and how much newsletters are send, and to analyze bounce mails.

Installation

Documentation and support

Contributing

You can contribute to this project by creating issues and/or sending pull requests.

  1. Create an issue or look for existing ones

  2. Fork the repository on Github

  3. Clone the repository, create a new branch based on the "develop" branch

  4. Make your changes, commit your changes to your fork

    In your commit message refer to the issue number if there is already one, e.g. [BUGFIX] Short description of fix (resolves #4711)

    PS: here are some hints on How to write the perfect pull request

  5. Submit a pull request using GitHub

  6. Wait for check backs or the final merge

direct_mail's People

Contributors

3l73 avatar bastianbalthasarbux avatar bluechipzellamsee avatar christophlehmann avatar daffyduck82 avatar dmitryd avatar frans-beech-it avatar fsaris avatar georgringer avatar gtitze avatar imminger avatar jokumer avatar jonnsn avatar kartolo avatar kraftb avatar linawolf avatar lorenzulrich avatar majernik avatar neufeind avatar nostrabramus avatar patta avatar peterkraume avatar pixelbrackets avatar ruudsilvrants avatar ssfgizmo avatar tiggr avatar tobenschmidt avatar villamarianne avatar vzz3 avatar webian avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

direct_mail's Issues

Recipient List with special query only shows 100 entries

When I create a special query for the recipient list, the overview only indicates that 100 entries are in the list.

This is because there's a limit 100 added at the end of the special query.

Will the newsletter be sent to all found entries, or will it stop after 100?

TYPO3 v12 and /Overrides/tt_content.php

In the backend of TYPO3 v12, when i edit a tt_content, i have the message :

An error occurred trying to process items for field "Category:" (There is no entry in the $TCA array for the table "sys_language". This means that the function enableFields() is called with an invalid table name as argument.).

It is related to /Configuration/TCA/Overrides/tt_content.php and "itemsProcFunc".
We have some calls to sys_language in "DirectMailTeam\DirectMail\SelectCategories"

Thanks

FetchUtility.php on line 44

TYPO3 12 PHP 8.2

On clicking page in Step1 i became this error:

Core: Exception handler (WEB): Uncaught TYPO3 Exception: TYPO3\CMS\Core\Http\RequestFactory::request(): Argument #3 ($options) must be of type array, null given, called in /var/www/vhosts/beta.de/typo3conf/ext/direct_mail/Classes/Utility/FetchUtility.php on line 44 | TypeError thrown in file /var/www/vhosts/beta.de/typo3_src-12.4.7/typo3/sysext/core/Classes/Http/RequestFactory.php in line 54. Requested URL: https://www.beta.de/typo3/module/directmail/directmail?token=--AnonymizedToken--&id=87&createMailFrom_UID=88&fetchAtOnce=1&cmd=info

Class fetch/server not found

Add this code to emt_emconf.php for non composer users.
Otherwise this 503 error appears.

 
'autoload' => [
        'psr-4' => [
            'DirectMailTeam\\DirectMail\\' => 'Classes/',
            'Fetch\\' => 'Resources/Private/Php/Fetch/src/Fetch/'
        ]
    ],

Only for development?

hello,

why is it set only for development? it seems not working for live site??

if ($applicationContext->isDevelopment()) {
            $context = ['verify' => Typo3ConfVarsUtility::getDMConfigSSLVerify()];
       }

martin

12.x - Function strftime() is deprecated

Hi,

First thanks for your work maintining direct_mail :-)
Then, i actuallty test the tree "12.x" and find this exception :

PHP Runtime Deprecation Notice: Function strftime() is deprecated in "/vendor/directmailteam/direct-mail/Classes/Module/DmailController.php line 1511".

Im on last TYPO3 12.

[11.x] TempRepository::makeCategories and TempRepository::getRecordOverlay marked as static wrongly

TempRepository::makeCategories and TempRepository::getRecordOverlay marked as static, but makeCategories using $this->getRecordOverlay inside.

Additional the class method is called as an object method.

e.g. inside DmailController line 1894:

GeneralUtility::makeInstance(TempRepository::class)->makeCategories('tt_content', $row, $this->sys_language_uid)

Both methods should not marked as static.

[v11] tracking with jumpurl causes Exception "Call to undefined method ...\StatisticsController::getUrlStr()"

We installed and tested the 11.x-dev branch in a TYPO3 11.5.8 environment (php 7.4).

Works pretty well for creating and sending newsletters.

We used jumpurl for an internal link and a test recipient clicked on it in the received newsletter.

When afterwards trying to open the statistics for that newsletter we get following exception:

(1/1) Error

Call to undefined method DirectMailTeam\DirectMail\Module\StatisticsController::getUrlStr()
in /xx/xx/public/typo3conf/ext/direct_mail/Classes/Module/StatisticsController.php line 638

            $id     = abs(intval($id));
            $url    = $htmlLinks[$id]['url'] ? $htmlLinks[$id]['url'] : $urlArr[$origId];
            // a link to this host?
            $uParts = @parse_url($url);
            $urlstr = $this->getUrlStr($uParts);
            
            $label = $this->getLinkLabel($url, $urlstr, false, $htmlLinks[$id]['label']);

In fact there is no method "getUrlStr()" neither in StatisticsController.php nor in MainController.php.

When there was no click on a jumpurl everything works fine.

[11.x] Call to undefined method DirectMailTeam\DirectMail\DirectMailUtility::getRecordOverlay()

Class SelectCategories contain a call to the static method getRecordOverlay of DirectMailUtility which doesn't exists.

Maybe it would be a good idea to move the makeCategories and getRecordOverlay of TempRepository to DirectMailUtility and make them static?

If you agree, the $this->getRecordOverlay call inside makeCategories should be replaced with self::getRecordOverlay ...

Other calls should be replace by DirectMailUtility::makeCategories and DirectMailUtility::getRecordOverlay()

Eg. change this in DmailController:
$this->categories = GeneralUtility::makeInstance(TempRepository::class)->makeCategories('tt_content', $row, $this->sys_language_uid);

with this:
$this->categories = DirectMailUtility::makeCategories('tt_content', $row, $this->sys_language_uid);
(to not forget the use statement ...)

Other places are inside:
Module/RecipientListController.php (line 795)
Module/StatisticsController.php (line 316)

[v11] Visual improvements of the Backend module

The following improvements should be made:

  1. Use TYPO3 panels for expanding sections
  2. Use full width for tables and information boxes
  3. Fix html markup in place of delete icon in mailer engine module (see below)

link

[v11] bounce management does not find any returned mail

We tried to use the bounce management with the v11 branch. We had test newsletters send to a not existing email. It could read the bounce mails in the mail account but does not update the statistics for returned mails without any log or error message.

Hook replacement

// Register hook for simulating a user group
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['determineId-PreProcessing']['direct_mail'] = 'DirectMailTeam\\DirectMail\\Hooks\TypoScriptFrontendController->simulateUsergroup';

BeforePageIsResolvedEvent

New in version 12.0: This PSR-14 event replaces the $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['determineId-PreProcessing'] hook.

TYPO3 12

is this fork already working proper in latest TYPO3?
martin

strip_tags() expects parameter 1 to be string, null given

Hey, after clicking the step 3 don´t work:
(1/1) TypeError
strip_tags() expects parameter 1 to be string, null given

typo3conf/ext/direct_mail/Classes/Module/DmailController.php line 1766
$row['header'] . '<br />' . GeneralUtility::fixed_lgd_cs(strip_tags($row['bodytext']), 200) . '<br /></td>';

TYPO3 11.5
PHP 7.4

Import recipients broken

Using the option 'Click here to import CSV' results in the error 'Call to a member function retrieveFileOrFolderObject() on null' in typo3/sysext/core/Classes/Utility/File/ExtendedFileUtility.php line 626.

This happens when using either the paste csv data option or the file upload option, after clicking 'Next' on the 'Import settings' page.

Compatibility with php 7.4

In the repositories, there is a lot of "array|bool" return types, but union types are only allowed since PHP 8.0.
Only this repositories are affected by this.

The rest works fine for me 👍

Deprecations

The TCA field 'sys_language_uid' of table 'sys_dmail' is defined as the 'languageField' and should therefore use the TCA type 'language' instead of TCA type 'select' with 'foreign_table=sys_language' or 'special=languages'.

The TCA field 'sys_language_uid' of table 'sys_dmail_category' is defined as the 'languageField' and should therefore use the TCA type 'language' instead of TCA type 'select' with 'foreign_table=sys_language' or 'special=languages'.

in /typo3/sysext/core/Classes/Utility/ExtensionManagementUtility.php line 1684

Replace DocumentTemplate with ModuleTemplate

"dashboard" dependency

Hi,

On the non-composer version "dashboard" was not a requirement.
Since the composer version, it is installed by default.

Could it be a "suggest" instead of a requirement? Because, a lot of people dont use dashboard.
Whats you opinion on this?

Thanks

Error at Activation: Expected to find class "DirectMailTeam\DirectMail\Command\AnalyzeBounceMailCommand" in file "/usr/www/users/wieses/webseite/grassbirdhabitats.test/typo3conf/ext/direct_mail/Classes/Command/AnalyzeBounceMailCommand.php" while importing services from resource "../Classes/*", but it was not found! Check the namespace prefix used with the resource.

On activation of direct_mail in TYPO3 12 I get error, that the Class AnalyzeBounceMailCommand is not found. It is not a composer installation.
I checked the namespace of the class and the 'autoload' in ext_emconf. Don't know, why autoload fails.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.