Documentation
¶
Index ¶
- Constants
- Variables
- func ConfigureMessages(b *i18n.Builder)
- func DefaultModelOptions(opts ...presets.ModelBuilderOption) []presets.ModelBuilderOption
- func Model(p *presets.Builder, v any, opts ...presets.ModelBuilderOption) *presets.ModelBuilder
- func NewModel(p *presets.Builder, v any, opts ...presets.ModelBuilderOption) *presets.ModelBuilder
- type Attachment
- type Builder
- type GmailSender
- type GmailSenderCredentials
- type GmailToken
- type MailSender
- type MessageBuilder
- func (b *MessageBuilder) AppendSubject(v string) *MessageBuilder
- func (b *MessageBuilder) Attachment(attachment ...*Attachment) *MessageBuilder
- func (b *MessageBuilder) Body(body string) *MessageBuilder
- func (b *MessageBuilder) Build() (m *mail.Msg, err error)
- func (b *MessageBuilder) FormattedSubject() string
- func (b *MessageBuilder) GetAttachments() []*Attachment
- func (b *MessageBuilder) GetBody() string
- func (b *MessageBuilder) GetLabels() []string
- func (b *MessageBuilder) GetSubject() string
- func (b *MessageBuilder) GetTo() []string
- func (b *MessageBuilder) Label(label ...string) *MessageBuilder
- func (b *MessageBuilder) PrependSubject(v string) *MessageBuilder
- func (b *MessageBuilder) Subject(subject string) *MessageBuilder
- func (b *MessageBuilder) To(v ...string) *MessageBuilder
- type Messages
- type Sender
- type SmtpSender
Constants ¶
View Source
const MessagesKey i18n.ModuleKey = "rqv-admin/mail-sender"
Variables ¶
View Source
var ( Messages_en_US = &Messages{ MailSender: "Mail Sender", TestMessageSubject: "Test Send Mail", TestMessageBody: "Test OK.", MailSenderSubjectPrefix: "Subject Prefix", MailSenderSender: "Sender", MailSenderGmail: "GMAIL", MailSenderSMTP: "SMTP", MailSender_Action_TestSendMail: "Send Test Mail", GmailSenderConfiguredSuccessfully: "Gmail Sender configured Successfully", GmailSenderLogOutSuccessfully: "Gmail Log Out Successfully", GmailSenderCallbackURI: "CallbackURI", GmailSenderCredentials: "App Credentials", GmailSenderCredentialsFile: "App Credentials File", GmailSenderCredentialsFile_Hint: "The .json file, available for download by Desktop Application on https://console.cloud.google.com", SmtpSenderTLS: "TLS", SmtpSenderServer: "Server", SmtpSenderPort: "Port", SmtpSenderFromMail: "FromMail", SmtpSenderUser: "User", SmtpSenderPassword: "Password", SendMailTestFormTo: "To", SendMailTestFormSubject: "Subject", SendMailTestFormMessage: "Message", SendMailTestFormSender: "Sender", ErrGmailSenderCredentialsInvalid: "The credentials is not a valid DESKTOP APPLICATION credentials", SendMailSuccessfully: "Send mail successfully", } Messages_pt_BR = &Messages{ MailSender: "Envio de Email", TestMessageSubject: "Teste de envio de email", TestMessageBody: "Teste executado com sucesso.", MailSenderSubjectPrefix: "Prefixo do Assunto", MailSenderSender: "Método de Envio", MailSenderGmail: "GMAIL", MailSenderSMTP: "SMTP", MailSender_Action_TestSendMail: "Enviar email de Teste", GmailSenderConfiguredSuccessfully: "Envio por Gmail configurado com sucesso", GmailSenderLogOutSuccessfully: "Desconectado do GMAIL com sucesso", GmailSenderCallbackURI: "CallbackURI", GmailSenderCredentials: "Credenciais de App", GmailSenderCredentialsFile: "Arquivo de Credenciais de App", GmailSenderCredentialsFile_Hint: "Arquivo .json com as credenciais de acesso. Este arquivo está disponível para Download da Aplicação Desktop em https://console.cloud.google.com", SmtpSenderTLS: "TLS", SmtpSenderServer: "Servidor", SmtpSenderPort: "Porta", SmtpSenderFromMail: "Email DE", SmtpSenderUser: "Usuário", SmtpSenderPassword: "Senha", SendMailTestFormTo: "Para", SendMailTestFormSubject: "Assunto", SendMailTestFormMessage: "Mensagem", SendMailTestFormSender: "Método de Envio", ErrGmailSenderCredentialsInvalid: "Estas crendencias não são do tipo DESKTOP APPLICATION (Aplicação de Desktop).", SendMailSuccessfully: "Email enviado com sucesso", } )
Functions ¶
func ConfigureMessages ¶
func DefaultModelOptions ¶
func DefaultModelOptions(opts ...presets.ModelBuilderOption) []presets.ModelBuilderOption
func Model ¶
func Model(p *presets.Builder, v any, opts ...presets.ModelBuilderOption) *presets.ModelBuilder
func NewModel ¶
func NewModel(p *presets.Builder, v any, opts ...presets.ModelBuilderOption) *presets.ModelBuilder
Types ¶
type Attachment ¶
type Attachment struct {
Name string
Body io.ReadCloser
}
type GmailSender ¶
type GmailSender struct {
User datatypes.NullJSONType[*goth.User] `admin:"-"`
Token datatypes.NullJSONType[*GmailToken] `admin:"-"`
Credentials datatypes.NullJSONType[GmailSenderCredentials] `admin:"-"`
CallbackURI string `admin:"-"`
}
func (*GmailSender) IsValid ¶
func (e *GmailSender) IsValid() bool
func (*GmailSender) Send ¶
func (e *GmailSender) Send(b *MessageBuilder) (err error)
func (*GmailSender) String ¶
func (e *GmailSender) String() string
type GmailSenderCredentials ¶
type GmailSenderCredentials struct {
ClientID string `json:"client_id,omitempty"`
ProjectID string `json:"project_id,omitempty"`
Raw []byte `json:"-"`
}
func (GmailSenderCredentials) IsZero ¶
func (c GmailSenderCredentials) IsZero() bool
func (GmailSenderCredentials) MarshalJSON ¶
func (c GmailSenderCredentials) MarshalJSON() ([]byte, error)
func (*GmailSenderCredentials) UnmarshalJSON ¶
func (c *GmailSenderCredentials) UnmarshalJSON(data []byte) (err error)
type GmailToken ¶
type GmailToken struct {
// AccessToken is the token that authorizes and authenticates
// the requests.
AccessToken string `json:"access_token"`
// TokenType is the type of token.
// The Type method returns either this or "Bearer", the default.
TokenType string `json:"token_type,omitempty"`
// RefreshToken is a token that's used by the application
// (as opposed to the user) to refresh the access token
// if it expires.
RefreshToken string `json:"refresh_token,omitempty"`
// Expiry is the optional expiration time of the access token.
//
// If zero, [TokenSource] implementations will reuse the same
// token forever and RefreshToken or equivalent
// mechanisms for that TokenSource will not be used.
Expiry time.Time `json:"expiry,omitempty"`
// ExpiresIn is the OAuth2 wire format "expires_in" field,
// which specifies how many seconds later the token expires,
// relative to an unknown time base approximately around "now".
// It is the application's responsibility to populate
// `Expiry` from `ExpiresIn` when required.
ExpiresIn int64 `json:"expires_in,omitempty"`
IDToken string `json:"id_token,omitempty"`
}
func (*GmailToken) Token ¶
func (t *GmailToken) Token() (ot *oauth2.Token)
type MailSender ¶
type MailSender struct {
ID uint `gorm:"primarykey" admin:"-"`
SubjectPrefix string
Sender string
Gmail GmailSender `gorm:"embedded;embeddedPrefix:gmail__"`
SMTP SmtpSender `gorm:"embedded;embeddedPrefix:smtp__"`
}
func (*MailSender) IsValid ¶
func (c *MailSender) IsValid() bool
func (*MailSender) Send ¶
func (c *MailSender) Send(b *MessageBuilder) (err error)
func (*MailSender) SendByMethod ¶
func (c *MailSender) SendByMethod(senderName string, b *MessageBuilder) (err error)
func (MailSender) TableName ¶
func (MailSender) TableName() string
type MessageBuilder ¶
type MessageBuilder struct {
// contains filtered or unexported fields
}
func Message ¶
func Message() *MessageBuilder
func (*MessageBuilder) AppendSubject ¶
func (b *MessageBuilder) AppendSubject(v string) *MessageBuilder
func (*MessageBuilder) Attachment ¶
func (b *MessageBuilder) Attachment(attachment ...*Attachment) *MessageBuilder
func (*MessageBuilder) Body ¶
func (b *MessageBuilder) Body(body string) *MessageBuilder
func (*MessageBuilder) Build ¶
func (b *MessageBuilder) Build() (m *mail.Msg, err error)
func (*MessageBuilder) FormattedSubject ¶
func (b *MessageBuilder) FormattedSubject() string
func (*MessageBuilder) GetAttachments ¶
func (b *MessageBuilder) GetAttachments() []*Attachment
func (*MessageBuilder) GetBody ¶
func (b *MessageBuilder) GetBody() string
func (*MessageBuilder) GetLabels ¶
func (b *MessageBuilder) GetLabels() []string
func (*MessageBuilder) GetSubject ¶
func (b *MessageBuilder) GetSubject() string
func (*MessageBuilder) GetTo ¶
func (b *MessageBuilder) GetTo() []string
func (*MessageBuilder) Label ¶
func (b *MessageBuilder) Label(label ...string) *MessageBuilder
func (*MessageBuilder) PrependSubject ¶
func (b *MessageBuilder) PrependSubject(v string) *MessageBuilder
func (*MessageBuilder) Subject ¶
func (b *MessageBuilder) Subject(subject string) *MessageBuilder
func (*MessageBuilder) To ¶
func (b *MessageBuilder) To(v ...string) *MessageBuilder
type Messages ¶
type Messages struct {
MailSender string
TestMessageSubject string
TestMessageBody string
MailSenderSender string
MailSenderSubjectPrefix string
MailSenderGmail string
MailSenderSMTP string
MailSender_Action_TestSendMail string
GmailSenderConfiguredSuccessfully string
GmailSenderLogOutSuccessfully string
GmailSenderCallbackURI string
GmailSenderCredentials string
GmailSenderCredentialsFile string
GmailSenderCredentialsFile_Hint string
SmtpSenderTLS string
SmtpSenderServer string
SmtpSenderPort string
SmtpSenderFromMail string
SmtpSenderUser string
SmtpSenderPassword string
SendMailTestFormTo string
SendMailTestFormSubject string
SendMailTestFormMessage string
SendMailTestFormSender string
ErrGmailSenderCredentialsInvalid i18n.ErrorString
SendMailSuccessfully string
}
func GetMessages ¶
type Sender ¶
type Sender interface {
Send(b *MessageBuilder) (err error)
}
type SmtpSender ¶
type SmtpSender struct {
TLS bool
Server string
Port uint16
FromMail string
User string
Password string
}
func (*SmtpSender) HostPort ¶
func (e *SmtpSender) HostPort() string
func (*SmtpSender) IsValid ¶
func (e *SmtpSender) IsValid() bool
func (*SmtpSender) Send ¶
func (e *SmtpSender) Send(b *MessageBuilder) (err error)
func (*SmtpSender) String ¶
func (e *SmtpSender) String() string
Click to show internal directories.
Click to hide internal directories.