Import path:
gitlab.soludian.com/soludian/fountain/libs/noti/fmail
fmail
import "gitlab.soludian.com/soludian/fountain/libs/noti/fmail"Index
- Constants
- Variables
- func CreateSesSmtpPassword(region, secret string) string
- func WithAccessKey(accessKeyID, secretAccessKey string) lib_3rd.Option[config]
- func WithConfig(conf *config) lib_3rd.Option[config]
- func WithEnvironment(env string) lib_3rd.Option[config]
- func WithHost(host string) lib_3rd.Option[config]
- func WithLogger(logger ...flog.FlogInf) lib_3rd.Option[config]
- func WithName(name string) lib_3rd.Option[config]
- func WithPort(port int) lib_3rd.Option[config]
- func WithRegion(region string) lib_3rd.Option[config]
- func WithSESAccessKey(accessKeyID, secretAccessKey string) lib_3rd.Option[config]
- type Client
- type ISendEmailAvailable
- type Message
- func NewMessage() *Message
- func (m *Message) MoreAttachment(path ...string) *Message
- func (m *Message) MoreBCC(bcc ...Receivers) *Message
- func (m *Message) MoreBCCAddr(cc ...string) *Message
- func (m *Message) MoreCC(cc ...Receivers) *Message
- func (m *Message) MoreCCAddr(cc ...string) *Message
- func (m *Message) MoreTags(tags map[string]string) *Message
- func (m *Message) MoreTo(to ...Receivers) *Message
- func (m *Message) MoreToAddr(to ...string) *Message
- func (m *Message) WithAttachment(path ...string) *Message
- func (m *Message) WithBCC(bcc ...Receivers) *Message
- func (m *Message) WithBCCAddr(cc ...string) *Message
- func (m *Message) WithCC(cc ...Receivers) *Message
- func (m *Message) WithCCAddr(cc ...string) *Message
- func (m *Message) WithContent(content string) *Message
- func (m *Message) WithFrom(from string) *Message
- func (m *Message) WithSubject(subject string) *Message
- func (m *Message) WithTags(tags map[string]string) *Message
- func (m *Message) WithTemplateFile(templateFile string, data map[string]any) *Message
- func (m *Message) WithTo(to ...Receivers) *Message
- func (m *Message) WithToAddr(to ...string) *Message
- func (m *Message) WithoutAutoPlainText() *Message
- type Receivers
Constants
const (
KDefaultSMTPPort = 465
)const KPackageName = "fmail"Variables
var GetFountainInstance = Lib.GetFountainInstancevar GetFountainManager = Lib.GetFountainManagerSử dụng khi config instance ở dạng key:value; Nếu config instance ở dạng key:array thì sử dụng hàm InstallFountainInstances Nếu config ở dạng key:array thì sẽ chỉ install config phần tử đầu tiên mà thôi
Install with config format <key>:<value>; eg: fmail:<value>
Usage:
config.yaml:
fmail:
name: default_name
...
code.go
fmail.InstallFountainInstance()
fmail.WithConfigKey("fmail").InstallFountainInstance()var InstallFountainInstance = Lib.InstallFountainInstanceSử dụng khi config instance ở dạng key:array<value>; Sẽ luôn cố gắng khởi tạo kể cả khi config ở dạng key:value
Install with config format <key>:array<value>; eg: fmail:array<value>
Usage:
config.yaml:
fmail:
- name: default_name
...
code.go
fmail.InstallFountainInstances()
fmail.WithConfigKey("fmail").InstallFountainInstances()var InstallFountainInstances = Lib.InstallFountainInstancesTruy cập thẳng tới bộ quản lý thư viện
var Lib = lib_3rd.NewLib(newClient, lib_3rd.WithDefaultConfigFunc[config, Client](DefaultConfig))var WithConfigKey = Lib.WithConfigKeyfunc CreateSesSmtpPassword
func CreateSesSmtpPassword(region, secret string) stringfunc WithAccessKey
func WithAccessKey(accessKeyID, secretAccessKey string) lib_3rd.Option[config]func WithConfig
func WithConfig(conf *config) lib_3rd.Option[config]WithConfig Required. Set config
func WithEnvironment
func WithEnvironment(env string) lib_3rd.Option[config]func WithHost
func WithHost(host string) lib_3rd.Option[config]func WithLogger
func WithLogger(logger ...flog.FlogInf) lib_3rd.Option[config]func WithName
func WithName(name string) lib_3rd.Option[config]func WithPort
func WithPort(port int) lib_3rd.Option[config]func WithRegion
func WithRegion(region string) lib_3rd.Option[config]func WithSESAccessKey
func WithSESAccessKey(accessKeyID, secretAccessKey string) lib_3rd.Option[config]type Client
type Client struct {
// contains filtered or unexported fields
}func (*Client) SendEmail
func (c *Client) SendEmail(m *Message) errortype ISendEmailAvailable
type ISendEmailAvailable interface {
Send(m *Message) error
}type Message
type Message struct {
Subject string `json:"subject,omitempty"`
From string `json:"from,omitempty"`
To []Receivers `json:"to,omitempty"`
CC []Receivers `json:"cc,omitempty"`
BCC []Receivers `json:"bcc,omitempty"`
Content string `json:"content,omitempty"` // Plain-text alternative tường minh; nếu rỗng và DisableAutoPlainText=false sẽ tự generate từ HTML
TemplateFile string `json:"template_file,omitempty"`
Data map[string]any `json:"data,omitempty"`
Attachment []string `json:"attachment,omitempty"`
Tags map[string]string `json:"tags,omitempty"` // Sử dụng cho tracking email, ví dụ: {"campaign": "summer_sale", "user_id": "12345"}
ConfigurationSetName string `json:"configuration_set_name,omitempty"` // Sử dụng cho SES để chỉ định configuration set, nếu có
DisableConfigurationSet bool `json:"disable_configuration_set,omitempty"` // Sử dụng để tắt configuration set, nếu true sẽ không gắn configuration set vào email
DisableAutoPlainText bool `json:"disable_auto_plain_text,omitempty"` // Tắt cơ chế auto-generate plain text fallback từ HTML content
}func NewMessage
func NewMessage() *Messagefunc (*Message) MoreAttachment
func (m *Message) MoreAttachment(path ...string) *Messagefunc (*Message) MoreBCC
func (m *Message) MoreBCC(bcc ...Receivers) *Messagefunc (*Message) MoreBCCAddr
func (m *Message) MoreBCCAddr(cc ...string) *Messagefunc (*Message) MoreCC
func (m *Message) MoreCC(cc ...Receivers) *Messagefunc (*Message) MoreCCAddr
func (m *Message) MoreCCAddr(cc ...string) *Messagefunc (*Message) MoreTags
func (m *Message) MoreTags(tags map[string]string) *MessageGộp thêm tags vào message, nếu đã tồn tại tags thì sẽ gộp thêm, nếu có key trùng thì sẽ ghi đè bằng value mới
func (*Message) MoreTo
func (m *Message) MoreTo(to ...Receivers) *Messagefunc (*Message) MoreToAddr
func (m *Message) MoreToAddr(to ...string) *Messagefunc (*Message) WithAttachment
func (m *Message) WithAttachment(path ...string) *Messagefunc (*Message) WithBCC
func (m *Message) WithBCC(bcc ...Receivers) *Messagefunc (*Message) WithBCCAddr
func (m *Message) WithBCCAddr(cc ...string) *Messagefunc (*Message) WithCC
func (m *Message) WithCC(cc ...Receivers) *Messagefunc (*Message) WithCCAddr
func (m *Message) WithCCAddr(cc ...string) *Messagefunc (*Message) WithContent
func (m *Message) WithContent(content string) *Messagefunc (*Message) WithFrom
func (m *Message) WithFrom(from string) *Messagefunc (*Message) WithSubject
func (m *Message) WithSubject(subject string) *Messagefunc (*Message) WithTags
func (m *Message) WithTags(tags map[string]string) *Messagefunc (*Message) WithTemplateFile
func (m *Message) WithTemplateFile(templateFile string, data map[string]any) *Messagefunc (*Message) WithTo
func (m *Message) WithTo(to ...Receivers) *Messagefunc (*Message) WithToAddr
func (m *Message) WithToAddr(to ...string) *Messagefunc (*Message) WithoutAutoPlainText
func (m *Message) WithoutAutoPlainText() *MessageWithoutAutoPlainText tắt cơ chế auto-generate plain text fallback từ HTML. Khi gọi, email chỉ có text/html part (không có text/plain alternative) nếu PlainText cũng không được set.
type Receivers
type Receivers struct {
Address string `json:"address"`
Name string `json:"name"`
}Generated by gomarkdoc