The Aimeos web shop components can integrate into almost any PHP application and uses the infrastructure of the application for building URLs, caching content, configuration settings, logging messages, session handling, sending e-mails or handling translations.
The ai-swiftmailer extension integrates the PHP Swiftmailer library for handling e-mails into Aimeos. It's required if your application uses Swiftmailer for sending e-mails and offers access to a Swiftmailer object that can be used together with this extension.
To allow the Aimeos web shop components accessing the e-mail infrastructure of your own framework or application, you have to install the adapter first. As every Aimeos extension, the easiest way is to install it via composer. If you don't have composer installed yet, you can execute this string on the command line to download it:
php -r "readfile('https://getcomposer.org/installer');" | php -- --filename=composer
Add the ai-swiftmailer extension to the "require" section of your composer.json
file:
"require": [
"aimeos/ai-swiftmailer": "dev-master",
...
],
If you don't want to use the latest version, you can also install any release. The list of releases is available at Packagist. Afterwards you only need to execute the composer update command on the command line:
composer update
Now add the Swiftmailer object to the Aimeos context, which you have to create to get the Aimeos components running:
// $app is an object that can create the Swiftmailer object
$closure = function() use ( $app ) {
return $app->getSwiftMailer();
};
$mail = new MW_Mail_Swift( $closure );
$context->setMail( $mail );
Initializing and creating a Swiftmailer object is a resource intensive task. Therefore, it's best to avoid passing the Swiftmailer object directly to the MW_Mail_Swift
constructor (which is also possible) but to use a closure that can create the object on demand.
The Aimeos ai-swiftmailer extension is licensed under the terms of the LGPLv3 license and is available for free.