git.sr.ht/~pingoo/stdx@v0.0.0-20240218134121-094174641f6e/email/smtp/smtp.go (about)

     1  package smtp
     2  
     3  import (
     4  	"context"
     5  
     6  	"git.sr.ht/~pingoo/stdx/email"
     7  )
     8  
     9  // Mailer implements the `email.Mailer` interface to send emails using SMTP
    10  type Mailer struct {
    11  	smtpMailer email.SMTPMailer
    12  }
    13  
    14  // NewMailer returns a new smtp Mailer
    15  func NewMailer(config email.SMTPConfig) *Mailer {
    16  	return &Mailer{
    17  		smtpMailer: email.NewSMTPMailer(config),
    18  	}
    19  }
    20  
    21  // Send an email using the SMTP mailer
    22  func (mailer *Mailer) SendTransactionnal(ctx context.Context, email email.Email) error {
    23  	return mailer.smtpMailer.Send(email)
    24  }
    25  
    26  // TODO
    27  func (mailer *Mailer) SendBroadcast(ctx context.Context, email email.Email) error {
    28  	return mailer.smtpMailer.Send(email)
    29  }