{"id":18883916,"url":"https://github.com/sfcod/email-engine","last_synced_at":"2025-10-17T17:26:58.053Z","repository":{"id":57048420,"uuid":"122125755","full_name":"sfcod/email-engine","owner":"sfcod","description":null,"archived":false,"fork":false,"pushed_at":"2024-09-11T11:35:04.000Z","size":48,"stargazers_count":9,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-11T23:49:04.337Z","etag":null,"topics":["email-sender","email-template","php","symfony","symfony-bundle"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sfcod.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-02-19T21:58:51.000Z","updated_at":"2024-09-11T11:35:07.000Z","dependencies_parsed_at":"2024-09-11T14:58:43.694Z","dependency_job_id":"146d6a96-52cd-403c-a682-717d54f46af1","html_url":"https://github.com/sfcod/email-engine","commit_stats":{"total_commits":23,"total_committers":4,"mean_commits":5.75,"dds":0.3913043478260869,"last_synced_commit":"bc58b9892067f11130496be3e042aeeb284854b3"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfcod%2Femail-engine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfcod%2Femail-engine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfcod%2Femail-engine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sfcod%2Femail-engine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sfcod","download_url":"https://codeload.github.com/sfcod/email-engine/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223644757,"owners_count":17178765,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["email-sender","email-template","php","symfony","symfony-bundle"],"created_at":"2024-11-08T07:09:49.100Z","updated_at":"2025-10-17T17:26:53.008Z","avatar_url":"https://github.com/sfcod.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"Symfony Email Engine Bundle\n===========================\n\n[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/sfcod/email-engine/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/sfcod/email-engine/?branch=master)[![Code Climate](https://codeclimate.com/github/sfcod/email-engine/badges/gpa.svg)](https://codeclimate.com/github/sfcod/email-engine)\n\nProvides possibility to send parametrized emails with attachments using queue of senders+repositories combination.\n\n#### Config:\n```yaml\nsfcod_email_engine:\n    main_sender: chained_sender\n    senders:\n        chained_sender:\n            chain:\n                senders: [db_swiftmailer_sender, twig_file_swiftmailer_sender]\n        twig_file_swiftmailer_sender:\n            sender:\n                class: SfCod\\EmailEngineBundle\\Sender\\SwiftMailerSender\n            repository:\n                class: SfCod\\EmailEngineBundle\\Repository\\TwigFileRepository\n        db_swiftmailer_sender:\n            sender:\n                class: SfCod\\EmailEngineBundle\\Sender\\SwiftMailerSender\n            repository:\n                class: SfCod\\EmailEngineBundle\\Repository\\DbRepository\n                arguments: { entity: \u003centity_class\u003e, attribute: slug }\n    templates:\n        - SfCod\\EmailEngineBundle\\Example\\TestTemplate\n```\n\nWhere \"templates\" section needed for \"SfCod\\EmailEngineBundle\\Mailer\\TemplateManager\" service and for params autowiring/autoconfiguring as services.\nUsing which you can get all possible email template parameters, description, etc.\n\nAnd \u003centity_class\u003e implements SfCod\\EmailEngineBundle\\Entity\\EmailEntityInterface\n\n#### Usage:\n\n```php\nuse SfCod\\EmailEngineBundle\\Mailer\\Mailer;\nuse SfCod\\EmailEngineBundle\\Example\\TestOptions;\nuse SfCod\\EmailEngineBundle\\Example\\TestTemplate;\n\npublic function indexAction(Mailer $mailer) {\n    $options = new TestOptions('some message', 'attachment_path');\n    $template = new TestTemplate($options);\n    $mailer-\u003esend($template, 'example@email.com');\n}\n```\n\nIf you want to use SfCod\\EmailEngineBundle\\Sender\\SwiftMailerSender with SfCod\\EmailEngineBundle\\Repository\\TwigFileRepository\nthen you have to implement SfCod\\EmailEngineBundle\\Template\\TwigTemplateAwareInterface.\n\nAnd TestTemplate email will be sent using SwiftMailerSender and template data will be collected from DbRepository.\nIf it fails, will be used SwiftMailerSender+TwigFileRepository, because both of them listed in \"chained_sender\" (see config section).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsfcod%2Femail-engine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsfcod%2Femail-engine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsfcod%2Femail-engine/lists"}