PHPackages                             rhafaman/mautic-amazon-ses-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Mail &amp; Notifications](/categories/mail)
4. /
5. rhafaman/mautic-amazon-ses-bundle

ActiveMautic-plugin[Mail &amp; Notifications](/categories/mail)

rhafaman/mautic-amazon-ses-bundle
=================================

Amazon SES plugin para Mautic 6 - Provides Amazon SES as email transport with bounce processing

1145PHP

Since Jul 30Pushed 9mo agoCompare

[ Source](https://github.com/rhafaman/mautic-amazon-ses-bundle)[ Packagist](https://packagist.org/packages/rhafaman/mautic-amazon-ses-bundle)[ RSS](/packages/rhafaman-mautic-amazon-ses-bundle/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Plugin Amazon SES para Mautic 6
===============================

[](#plugin-amazon-ses-para-mautic-6)

[![Amazon SES](Assets/img/icon.png)](Assets/img/icon.png)

**Plugin oficial para integração do Mautic 6 com Amazon Simple Email Service (SES)**

---

🚀 **Recursos**
--------------

[](#-recursos)

- ✅ **Dual transport:** `ses+api` (recomendado) e `ses+smtp`
- ✅ **Auto-processamento:** bounces/complaints via SNS webhooks
- ✅ **Debug inteligente:** diagnóstico completo + detecção automática
- ✅ **Testes AWS:** conexão real + informações de quota

---

🔧 **Pré-requisitos AWS**
------------------------

[](#-pré-requisitos-aws)

### 1. **Conta AWS + SES**

[](#1-conta-aws--ses)

- Criar conta em [aws.amazon.com](https://aws.amazon.com)
- Ativar Amazon SES na região desejada

### 2. **IAM User**

[](#2-iam-user)

- Criar usuário IAM + política `AmazonSESFullAccess`
- Gerar Access Key + Secret Key

### 3. **Verificação**

[](#3-verificação)

- Verificar domínio/email em SES → Verified identities
- Solicitar saída do sandbox para produção

---

📦 **Instalação**
----------------

[](#-instalação)

```
# 1. Instalar via Composer
composer require rhafaman/mautic-amazon-ses-bundle

# 2. Limpar cache e ativar
php bin/console cache:clear
php bin/console mautic:plugins:reload

# 3. Verificar instalação
php bin/console mautic:amazon-ses:debug
```

---

⚙️ **Configuração**
-------------------

[](#️-configuração)

**Local no Mautic:** Configuração → Configurações de Email → Transport

### 🥇 **SES API (RECOMENDADO)**

[](#-ses-api-recomendado)

**DSN:** `ses+api://ACCESS_KEY:SECRET_KEY@default?region=REGIAO`

CampoValorEsquema`ses+api`Host`default`Usuário``Senha``Região``### 🥈 **SES SMTP (Alternativo)**

[](#-ses-smtp-alternativo)

**DSN:** `ses+smtp://ACCESS_KEY:SECRET_KEY@default:587?region=REGIAO`

CampoValorEsquema`ses+smtp`Host`default`Porta`587` (recomendado)Usuário``Senha``Região``### 📝 **Credenciais AWS**

[](#-credenciais-aws)

- **Access Key:** 20 caracteres (ex: `AKIA...`)
- **Secret Key:** 20-128 caracteres
- **Região:** `us-east-1`, `sa-east-1`, `eu-west-1`, etc.

### ⚠️ **IMPORTANTE: Secret Key**

[](#️-importante-secret-key)

**🚨 Para evitar problemas, regenere a Secret Key se contém `/` ou `+`**

Se não puder regenerar, use URL encoding:

```
# Caracteres problemáticos → URL encoded
/ → %2F
+ → %2B
= → %3D
```

### 💡 **Exemplos de DSN**

[](#-exemplos-de-dsn)

```
# SES API (recomendado)
ses+api://AKIAIOSFODNN7EXAMPLE:wJalrXUtnFEMI_K7MDENG_bPxRfiCYEXAMPLEKEY@default?region=us-east-1

# SES SMTP
ses+smtp://AKIAIOSFODNN7EXAMPLE:wJalrXUtnFEMI_K7MDENG_bPxRfiCYEXAMPLEKEY@default:587?region=sa-east-1
```

**Nota:** Host `default` resolve automaticamente para endpoint AWS correto

---

🔍 **Debug e Testes**
--------------------

[](#-debug-e-testes)

```
# Análise completa
php bin/console mautic:amazon-ses:debug

# Teste conexão AWS + quota
php bin/console mautic:amazon-ses:debug --test-connection

# Teste SMTP
php bin/console mautic:amazon-ses:debug --test-smtp-connectivity

# Envio teste (detecta remetente)
php bin/console mautic:amazon-ses:debug --test-email=destino@dominio.com

# Remetente específico
php bin/console mautic:amazon-ses:debug --test-email=destino@dominio.com --from=remetente@dominio.com
```

**Auto-detecção remetente:** `mailer_from_email` → `webmaster_email` → DSN → fallback

---

📡 **Webhooks SNS (Opcional)**
-----------------------------

[](#-webhooks-sns-opcional)

**Para auto-processamento de bounces/complaints:**

### Setup AWS:

[](#setup-aws)

1. **SES → Configuration sets** → criar + vincular event destinations
2. **SNS → Topics** → criar tópicos + subscriptions HTTPS
3. **Endpoint:** `https://seu-mautic.com/mailer/callback`
4. **⚠️ Habilitar:** "Raw message delivery"

**Resultado:** Plugin confirma subscrições + remove bounces automaticamente

---

🚨 **Troubleshooting**
---------------------

[](#-troubleshooting)

```
# Diagnóstico completo
php bin/console mautic:amazon-ses:debug --test-connection
```

❌ Problema✅ Solução**Timeout SMTP**Use `ses+api` ou porta 587**InvalidSignature**Regenere Secret Key sem `/` ou `+`**MessageRejected**Verifique domínio verificado no SES**Sem remetente**Configure `mailer_from_email` no Mautic---

📋 **Requisitos**
----------------

[](#-requisitos)

- **Mautic:** 6.0+
- **PHP:** 8.1+
- **Conta AWS SES** com domínio/email verificado
- **Dependências:** `symfony/amazon-mailer` (instalada automaticamente)

---

📈 **Logs**
----------

[](#-logs)

**Registra em** `var/logs/mautic_*.log`:

- ✅ Emails enviados + Message-ID
- ❌ Erros conexão/credenciais AWS
- 📨 Bounces/complaints processados
- 🔍 Debug + quota AWS

---

📝 **Versão**
------------

[](#-versão)

**v1.1.4** | Mautic 6.0+ | PHP 8.1+ | Autor: Rhafaman

---

**🚀 Plugin Amazon SES - Solução completa para envio de emails no Mautic 6**

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance41

Moderate activity, may be stable

Popularity12

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity14

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/3fcbb2bd824ffb2084e27539a6df1d010771066266296ac550781a4d9db71ff3?d=identicon)[rhafaman](/maintainers/rhafaman)

---

Top Contributors

[![rhafaman](https://avatars.githubusercontent.com/u/29254582?v=4)](https://github.com/rhafaman "rhafaman (26 commits)")

### Embed Badge

![Health badge](/badges/rhafaman-mautic-amazon-ses-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/rhafaman-mautic-amazon-ses-bundle/health.svg)](https://phpackages.com/packages/rhafaman-mautic-amazon-ses-bundle)
```

###  Alternatives

[tijsverkoyen/css-to-inline-styles

CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.

5.8k505.3M227](/packages/tijsverkoyen-css-to-inline-styles)[minishlink/web-push

Web Push library for PHP

1.9k12.0M53](/packages/minishlink-web-push)[laravel-notification-channels/twilio

Provides Twilio notification channel for Laravel

2587.7M12](/packages/laravel-notification-channels-twilio)[spatie/url-signer

Generate a url with an expiration date and signature to prevent unauthorized access

4422.3M16](/packages/spatie-url-signer)[mattketmo/email-checker

Throwaway email detection library

2742.0M5](/packages/mattketmo-email-checker)[laravel-notification-channels/discord

Laravel notification driver for Discord.

2371.3M11](/packages/laravel-notification-channels-discord)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
