email

package
v0.0.0-...-537d0aa Latest Latest
Warning

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

Go to latest
Published: Oct 26, 2024 License: GPL-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ClientConfigData

type ClientConfigData struct {
	Host         string
	SMTPUsername string
	SMTPPassword string
	SMTPPort     int
}

func ProductionConfig

func ProductionConfig() (emailClientConfig *ClientConfigData, err error)

Retrieve configuration data (eg. email provider, smtp port) from .env file for production settings only Base parameter for dependency injection of email client (production)

type MailClient

type MailClient struct {
	MyEmailClient *gomail.Dialer
}

func NewEmailClient

func NewEmailClient(emailClientConfig *ClientConfigData) (client *MailClient, err error)

func (*MailClient) EmailInformUserFailedLogin

func (client *MailClient) EmailInformUserFailedLogin(timeStamp time.Time, email string) error

Inform account owner on failed login attempt

func (*MailClient) EmailNewRegistration

func (client *MailClient) EmailNewRegistration(timeStamp time.Time, email, verifyLinkValidMinutes, encryptedVerifyToken string) error

Send verification request for new registration request

func (*MailClient) EmailRegistrationSuccess

func (client *MailClient) EmailRegistrationSuccess(timeStamp time.Time, email string) error

Send email after successfully verified registration

func (*MailClient) EmailRegistrationVerifiedAccount

func (client *MailClient) EmailRegistrationVerifiedAccount(timeStamp time.Time, email string) error

Registration request for already verified account/email address. Send warning notification to account owner

func (*MailClient) SendEmail

func (client *MailClient) SendEmail(senderEmail, recipientEmail, subject, body string) error

type Repository

type Repository interface {
	EmailRegistrationSuccess(timeStamp time.Time, email string) error
	EmailInformUserFailedLogin(timeStamp time.Time, email string) error
	SendEmail(senderEmail, recipientEmail, subject, body string) error
	EmailRegistrationVerifiedAccount(timeStamp time.Time, email string) error
	EmailNewRegistration(timeStamp time.Time, email, verifyLinkValidMinutes, encryptedVerifyToken string) error
}

/////////////////////////////////////////////////////////////////////// Setup interface for email repository utilizing Dependency Injection /////////////////////

type RepositoryInterface

type RepositoryInterface struct {
	RepositoryInterface Repository
}

func GetEmailRepositoryInterface

func GetEmailRepositoryInterface(emailClientConfig *ClientConfigData) (emailClientMethods *RepositoryInterface, err error)

func NewEmailMetodInterface

func NewEmailMetodInterface(emailClient *MailClient) *RepositoryInterface

Jump to

Keyboard shortcuts

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