This extension allows to automatically update the number of bounces for civimail mailings. As with the standard civiway of handing bounces, it automatically flag invalid emails "on hold". You DO NOT have to configure or run the cronjob that fetch the bounces from a mailbox, mailjet directly sends these events to civicrm using the endpoint provided by this extension.
Thanks to WeMove.EU contribution, this extension also flags transactional emails (eg. automatic emails sent to confirm a donation or event registration, request to confirm their subscriptions...). In order to do that, it automatically create a fake campaign on mailjet with the sender email as its name.
Another major change is that the extension stores received event in its own table only for event types currently not supported, or when something wrong happens. Otherwise, only Civicrm standard tables are used. This applies for sent
events, where the extension stores the mailjet send time in place of the civiCRM one, and keeps the CiviCRM one in a new column `original_time_stamp' (created by the install script).
you do not need that extension to send emails, simply use mailjet smtp interface (using the api key as login and secret as password, as explained on their site)
You should be able to send emails and see on mailjet site how many were sent.
define( 'MAILJET_API_KEY', 'YOUR MAILJET API KEY');<br/>
define( 'MAILJET_SECRET_KEY', 'YOUR MAILJET SECRET KEY');
To increase the response time to mailjet events, you can send them to an AMQP broker and dispatch them to this extension.
amqp
directory of this extension.amqp
directory a file named sitepath.inc
that contains the path to your drupal site (without trailing slash)php composer.phar install
(adapt if you have a global composer)adapt and copy doc/mailjet_amqp.conf into /etc/init/mailjet_amqp.conf
On ubuntu/production: service mailjet_amqp start
Manually:
From the amqp
directory: php consumer.php -q name_of_queue
The script does not ensure that the queue exists before reading from it.
The script consumes messages only when the load on the server is lower than MAILJET_MAX_LOAD.
the latest version of mailjet API allows to group events, instead of calling the endpoint for every event. This shouldn't be too hard to implement and would make me very happy if you contribute that part.
Verifying who is calling the endpoint could be better done...
X+