Download the PHP package neyric/inbound-email-bundle without Composer
On this page you can find all versions of the php package neyric/inbound-email-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package inbound-email-bundle
InboundEmailBundle for Symfony
Inbound emails for Symfony apps with Sendgrid and Mailjet support.
Principle
This bundle provides a standardized InboundEmailEvent
to your application.
Additionnaly, emails replies are parsed using willdurand/email-reply-parser, which will strip the text content from quoted texts and signature.
The InboundEmailEvent
is dispatched by configurable webhook-handler controllers, and currently supports two email gateways :
- Sendgrid (cf. Inbound Email Parse Webhook documentation )
- Mailjet (cf. Parse API documentation)
Requirements
To use this bundle, you will need (as a minimum):
- PHP v7.1
- Symfony >= 4.3
- A Sendgrid or Mailjet account
Applications that use Symfony Flex
Open a command console, enter your project directory and execute:
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:
This command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation.
Step 2: Enable the Bundle
Then, enable the bundle by adding it to the list of registered bundles
in the app/AppKernel.php
file of your project:
Configuration for Sendgrid
First, you'll need to setup the webhook handler. In your routes.yaml file :
If you use symfony/expression-language component, it is recommended to add the following line to limit this route to the POST method :
Then, setup the Sendgrid Inbound Parse Webhook: Cf. https://sendgrid.com/docs/for-developers/parsing-email/setting-up-the-inbound-parse-webhook/
Configuration for Mailjet
First, you'll need to setup the webhook handler. In your routes.yaml file :
If you use symfony/expression-language component, it is recommended to add the following line to limit this route to the POST method :
Then, setup the Mailjet Parse API Webhook: Cf. https://dev.mailjet.com/email/guides/parse-api/
Application Usage
To receive the emails within your application, simply create an EventSubscriber class, which listens for the InboundEmailEvent::class event :
Then register the service with the kernel.event_subscriber
(if necessary, depending on your service configuration)
Prepare a local tunnel
Using a local tunnel will save you a lot of time because you can test locally. The recommended choice is ngrok. Ngrok is a tool to tunnel our local server to the web, making our local webhook handlers available to the email providers webhooks.
License
neyric/inbound-email-bundle is distributed under MIT license, see the LICENSE file.
Contacts
Report bugs or suggest features using issue tracker on GitHub.
All versions of inbound-email-bundle with dependencies
symfony/framework-bundle Version ^4.3 || ^5.0
symfony/yaml Version ^4.3 || ^5.0
willdurand/email-reply-parser Version ^2.8