gmail

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Sep 3, 2024 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

Package gmail is used for sending emails via gmail

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrFailedToSendEmail is returned when an email fails to send
	ErrFailedToSendEmail = errors.New("failed to send email")
	// ErrNoUsersMessagesService is returned when no UsersMessagesService is initiated
	ErrNoUsersMessagesService = errors.New("no UsersMessagesService initiated")
	// ErrUnableToBuildMIMEMessage is returned when a MIME message fails to be built
	ErrUnableToBuildMIMEMessage = errors.New("unable to build MIME message")
	// ErrUnableToStartGmailService is returned when a Gmail service fails to start
	ErrUnableToStartGmailService = errors.New("unable to start Gmail service")
	// ErrUnableToParseServiceAccount is returned when a service account fails to be parsed
	ErrUnableToParseServiceAccount = errors.New("unable to parse service account")
	// ErrUnableToParseJWTCredentials is returned when JWT credentials fail to be parsed
	ErrUnableToParseJWTCredentials = errors.New("unable to parse JWT credentials")
	// ErrInvalidToken is returned when a token is invalid
	ErrInvalidToken = errors.New("invalid token")
	// ErrMockServiceError is returned when a mock service encounters an error
	ErrMockServiceError = errors.New("mock service error")
)

Functions

func NewGmailEmailSenderAPIKey

func NewGmailEmailSenderAPIKey(ctx context.Context, apiKey, user string) (*gmailMessageSenderWrapper, error)

NewGmailEmailSenderAPIKey initializes a new gmailEmailSenderAPIKey instance using an API key

func NewGmailEmailSenderJWT

func NewGmailEmailSenderJWT(ctx context.Context, configJSON []byte, user string) (*gmailMessageSenderWrapper, error)

NewGmailEmailSenderJWT initializes a new gmailEmailSenderJWT instance using JWT configuration

func NewGmailEmailSenderJWTAccess

func NewGmailEmailSenderJWTAccess(ctx context.Context, jsonCredentials []byte, user string) (*gmailMessageSenderWrapper, error)

NewGmailEmailSenderJWTAccess initializes a new gmailEmailSenderJWTAccess instance using a JWT access token

func NewGmailEmailSenderOauth2

func NewGmailEmailSenderOauth2(ctx context.Context, configJSON []byte, tokenManager GmailTokenManager, user string) (*gmailMessageSenderWrapper, error)

NewGmailEmailSenderOauth2 initializes a new gmailEmailSenderOauth2 instance using OAuth2 credentials

func NewGmailEmailSenderServiceAccount

func NewGmailEmailSenderServiceAccount(ctx context.Context, jsonCredentials []byte, user string) (*gmailMessageSenderWrapper, error)

NewGmailEmailSenderServiceAccount initializes a new gmailEmailSenderServiceAccount instance using service account JSON credentials

Types

type GmailTokenManager

type GmailTokenManager interface {
	GetToken() ([]byte, error)
}

GmailTokenManager defines an interface for obtaining OAuth2 tokens

Jump to

Keyboard shortcuts

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