Metadata-Version: 2.4
Name: mangono-addon-mangono_sweego_mail
Version: 14.0.1.0.0
Project-URL: Homepage, https://www.mangono.fr
Author-Email: Mangono <opensource+odoo@mangono.fr>
License-Expression: AGPL-3.0
Classifier: Development Status :: 5 - Production/Stable
Classifier: Framework :: Odoo
Classifier: Framework :: Odoo :: 14.0
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Classifier: Programming Language :: Python
Requires-Python: >=3.6
Requires-Dist: mangono_addon_mangono_sweego_base~=14.0
Description-Content-Type: text/markdown

# Mangono Sweego Mail (14.0)

Intégration [Sweego](https://www.sweego.io/) (email transactionnel) pour Odoo 14 :
envoi SMTP, suivi de distribution par webhook, et surtout **réception des réponses
directement dans le chatter de l'enregistrement d'origine** (commande fournisseur,
devis, facture…).

Backport de la branche 18.0 de ce dépôt. Les écarts ci-dessous viennent uniquement des
API qui n'existent pas encore en 14.0 : la structure des fichiers est identique d'une
branche à l'autre, pour qu'un correctif se reporte sans réécriture.

## Écarts avec la version 18.0

| 18.0 | 14.0 | Pourquoi |
|---|---|---|
| `ir.mail_server.smtp_authentication = 'sweego'` | `ir.mail_server.sweego_enabled` (booléen) | `smtp_authentication` n'existe qu'à partir de 17.0 |
| `_find_mail_server(email_from)` / `from_filter` | `sweego_forced_mail_server_id` dans le contexte, posé par `mail.mail._send`, sinon serveur actif de plus petite `sequence` | 14.0 n'a ni `from_filter` ni `_find_mail_server` : le serveur retenu est celui de `mail.mail.mail_server_id`, à défaut le plus prioritaire |
| `company.alias_domain_id` / `mail.alias.domain` | paramètre système `mail.catchall.domain` | le modèle `mail.alias.domain` n'existe qu'à partir de 17.0 ; en 14.0 il n'y a qu'un domaine par base |
| `failure_type` `mail_bl` / `mail_email_invalid` / `mail_smtp` | `RECIPIENT` / `RECIPIENT` / `BOUNCE` | `mail.notification.failure_type` ne connaît que `SMTP`, `RECIPIENT`, `BOUNCE`, `UNKNOWN` en 14.0 |
| `mail.mail.failure_type` | non écrit (seul `failure_reason` existe) | le champ n'existe pas sur `mail.mail` en 14.0 |
| `mail.notification.mail_mail_id` | `mail.notification.mail_id` | renommé en 16.0 |
| `match` / `case` | `if` / `elif` | Odoo 14 tourne sous Python 3.9 |
| module `mangono_sweego_sms` | non porté | l'API SMS de 14.0 (`sms.sms`, `iap`) est trop éloignée, et le besoin porte sur le mail |

## Configuration

1. Réglages généraux → section **Mangono Sweego** : clé API et Client UUID.
2. Réglages généraux → paramètre système `mail.catchall.domain` : le domaine de
   réception déclaré côté Sweego. Sans lui, aucune adresse `reply+…` n'est posée et
   les réponses ne remontent pas dans le chatter.
3. Serveur de mail sortant : cocher **Mangono Sweego SMTP**, renseigner l'identifiant
   SMTP Sweego, laisser le chiffrement sur STARTTLS.
4. Recopier les deux URL de webhook affichées sur la fiche serveur dans le tableau de
   bord Sweego, et coller en retour les deux secrets (entrant et sortant).

## Tests

```bash
/usr/bin/python3.9 ~/workspace/python/v14/odoo/odoo-bin -d <base> \
  -c ~/workspace/python/v14/odoo/openerp-server.conf \
  -u mangono_sweego_mail --test-enable --test-tags mangono_sweego_mail \
  --stop-after-init --http-port=1409
```

La documentation fonctionnelle complète est dans
[`docs/mangono_sweego_mail.adoc`](docs/mangono_sweego_mail.adoc).
