projet-normandie / email-bundle
Normandie EmailBundle
Installs: 594
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 4
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: ^7.4 || ^8.0
- ext-json: *
- api-platform/core: ^2.7
- aws/aws-sdk-php-symfony: ~2.0
- doctrine/orm: ^2.13
- knplabs/doctrine-behaviors: ~2.0
- symfony/amazon-mailer: ^5.4
- symfony/dependency-injection: ^5.4
- symfony/mailer: ^5.4
This package is auto-updated.
Last update: 2024-04-22 21:29:07 UTC
README
Develop
Installation
Make sure Composer is installed globally, as explained in the installation chapter of the Composer documentation.
Applications that use Symfony Flex
Open a command console, enter your project directory and execute:
$ composer require projet-normandie/email-bundle
Applications that don't use Symfony Flex
Step 1: Download the Bundle
Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:
$ composer require projet-normandie/email-bundle
Step 2: Enable the Bundle
Then, enable the bundle by adding it to the list of registered bundles
in the config/bundles.php
file of your project:
// config/bundles.php return [ // ... ProjetNormandie\EmailBundle\ProjetNormandieEmailBundle::class => ['all' => true], ];
Configuration
Database
In order to link your User entity to this module you should add the following configuration: (Replace AppBundle\Entity\User with your user class).
# Doctrine Configuration - config.yml doctrine: orm: resolve_target_entities: ProjetNormandie\EmailBundle\Entity\UserInterface: AppBundle\Entity\User
After resolving the entity you can update your database schema.
Module Configuration
The from has to be set globally.
projet_normandie_email: from: "no-reply@projetnormandie.com" to: "contact@projetnormandie.com"
Note that the from can be overwritten when constructing the mail.
Module Usage
Example of usage:
use ProjetNormandie\EmailBundle\Entity\Email; use ProjetNormandie\EmailBundle\Service\Mailer; private $mailer; /** * @param Mailer $mailer */ public function __construct(Mailer $mailer) { $this->mailer = $mailer; } public function sendEemail() { $mail = new Email(); $mail ->setTargetMail($email) ->setSubject($subject) ->setBodyHtml($body) ->setBodyText($body); $this->mailer->send($mail); }