mail

package
v1.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 9, 2026 License: MIT Imports: 13 Imported by: 0

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

func (m *Mailer) Ping() error

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

func (m *Mailer) SendMail(to, subject, templateName string, data interface{}) error

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

func (m *Mailer) SendRawHTML(to, subject, htmlBody string) error

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

func (m *Mailer) SendTemplateString(to, subject, tplString string, data interface{}) error

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL