Documentation
¶
Overview ¶
Package mail fournit un client SMTP pour l'envoi d'emails dans JellyGate.
Utilise github.com/wneessen/go-mail pour une gestion robuste de :
- Authentification SMTP (PLAIN, LOGIN, CRAM-MD5)
- STARTTLS / TLS direct
- Templates HTML avec html/template
- Test de connexion au démarrage (Ping)
Les templates sont chargés depuis web/templates/emails/.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Mailer ¶
type Mailer struct {
// contains filtered or unexported fields
}
Mailer encapsule l'envoi d'emails via SMTP.
func New ¶
func New(cfg config.SMTPConfig) (*Mailer, error)
New crée un nouveau Mailer à partir de la configuration SMTP.
Charge tous les templates depuis web/templates/emails/*.html. Si le dossier de templates n'existe pas, le mailer fonctionne quand même mais SendMail retournera une erreur si un template est requis.
func (*Mailer) Ping ¶
Ping teste la connexion au serveur SMTP. Doit être appelé au démarrage de l'application pour vérifier la configuration SMTP avant d'accepter des requêtes.
Ouvre une connexion, effectue le handshake EHLO/HELO, puis ferme.
func (*Mailer) SendMail ¶
SendMail envoie un email à partir d'un template HTML.
Paramètres :
- to : adresse email du destinataire
- subject : sujet de l'email
- templateName : nom du template (sans extension, ex: "welcome")
- data : données injectées dans le template
Le template est recherché dans web/templates/emails/{templateName}.html. Si le template n'existe pas dans les templates préchargés, il est chargé dynamiquement depuis le disque.
func (*Mailer) SendRawHTML ¶
SendRawHTML envoie un email avec un corps HTML fourni directement (sans passer par un template). Utile pour les cas simples ou les tests.
func (*Mailer) SendTemplateString ¶
SendTemplateString rend et envoie un email à partir d'une chaîne de modèle dynamique (ex: depuis la base de données). Les balises HTML sont supportées.