Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
[![PSR-12](https://img.shields.io/badge/Code%20Style-PSR--12-blue.svg)](phpcs.xml)
[![Zero Dependencies](https://img.shields.io/badge/Dependencies-Zero*-brightgreen.svg)](#)

> Part of the **[Jardis Business Platform](https://jardis.io)** — Enterprise-grade PHP components for Domain-Driven Design
> Part of **[Jardis](https://jardis.io)** — the Domain-Driven Design platform for PHP. You model your domain; Jardis generates the production-ready hexagonal code (DTOs, Command/Query handlers, repositories, persistence). This package is part of the open-source foundation that generated code runs on.

**Transactional emails without the bloat.** A lean SMTP mailer built on raw sockets — designed for DDD applications that send order confirmations, password resets, or notifications. No Swiftmailer, no Symfony Mailer, no dependency tree. Just SMTP over a socket.
**Transactional emails without the bloat.** A lean SMTP mailer for PHP built on raw sockets — covers order confirmations, password resets, and notifications. No Swiftmailer, no Symfony Mailer, no dependency tree. Just SMTP over a socket.

<small>* Zero external PHP packages. Only `ext-openssl` + `ext-mbstring` + `jardissupport/contract` (interfaces only).</small>

Expand Down
7 changes: 6 additions & 1 deletion composer.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "jardisadapter/mailer",
"homepage": "https://docs.jardis.io/en/adapter/mailer",
"description": "SMTP mail client with STARTTLS, authentication, HTML and plain text support, attachments",
"description": "SMTP mail client with STARTTLS, authentication, HTML and plain text support, attachments, and retry with exponential backoff; a building block of the open-source foundation that Jardis-generated DDD code runs on",
"type": "library",
"license": "MIT",
"minimum-stability": "stable",
Expand Down Expand Up @@ -47,7 +47,12 @@
"smtp",
"email",
"mail",
"starttls",
"transactional-email",
"php",
"domain driven design",
"domain-driven-design",
"hexagonal-architecture",
"jardis",
"Headgent"
]
Expand Down
8 changes: 8 additions & 0 deletions support/makefile/hooks.mk
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,14 @@ install-hooks: ## Install git hooks (pre-commit + pre-push)
@echo '# Jardis Pre-Push Hook — Quality Gate' >> .git/hooks/pre-push
@echo 'set -e' >> .git/hooks/pre-push
@echo 'echo "=== Jardis Pre-Push Quality Gate ==="' >> .git/hooks/pre-push
@echo '# Doku-Fast-Path: keine *.php geaendert -> PHP-Gates ueberspringen (kein --no-verify, der Hook entscheidet korrekt)' >> .git/hooks/pre-push
@echo 'base="$$(git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null || echo origin/develop)"' >> .git/hooks/pre-push
@echo 'changed="$$(git diff --name-only "$$base"...HEAD 2>/dev/null)"' >> .git/hooks/pre-push
@echo 'if ! echo "$$changed" | grep -q "[.]php$$"; then' >> .git/hooks/pre-push
@echo ' echo ">>> Nur Doku/Metadaten geaendert (keine *.php) — phpcs/phpstan/phpunit uebersprungen"' >> .git/hooks/pre-push
@echo ' echo "=== Quality Gate (Doku-Fast-Path) bestanden ==="' >> .git/hooks/pre-push
@echo ' exit 0' >> .git/hooks/pre-push
@echo 'fi' >> .git/hooks/pre-push
@echo 'echo ">>> make phpcs"' >> .git/hooks/pre-push
@echo 'make phpcs || { echo "PHPCS fehlgeschlagen — Push abgebrochen"; exit 1; }' >> .git/hooks/pre-push
@echo 'echo ">>> make phpstan"' >> .git/hooks/pre-push
Expand Down
Loading