emt

package
v4.5.2 Latest Latest
Warning

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

Go to latest
Published: Dec 28, 2024 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Body

type Body struct {
	Type  string `json:"type"`  // Тип контента.
	Value string `json:"value"` // Тело письма в кодировке BASE64.
}

Body Часть электронного сообщения - шаблоны.

func (*Body) ValueGet

func (tbo *Body) ValueGet() (ret []byte)

ValueGet Декодирование значения Value из BASE64 в срез байт.

func (*Body) ValueSet

func (tbo *Body) ValueSet(b []byte)

ValueSet Кодирование среда байт в значение BASE64 и установка в свойство Value объекта.

type File

type File struct {
	Type  string `json:"type"`  // Тип контента.
	Name  string `json:"name"`  // Название объекта.
	Value string `json:"value"` // Тело объекта в кодировке BASE64.
}

File Часть электронного сообщения - вложения.

func (*File) Filename

func (tfo *File) Filename() (ret string)

Filename Выделение из названия объекта, наименование файла.

func (*File) FilenameExtension

func (tfo *File) FilenameExtension() string

FilenameExtension Выделение из названия объекта расширения наименование файла.

func (*File) JsonMarshal

func (tfo *File) JsonMarshal(o any) (err error)

JsonMarshal Кодирование переданного объекта в JSON и запись полученного среза байт в кодировке BASE64 в значение поля value.

func (*File) JsonUnmarshal

func (tfo *File) JsonUnmarshal(o any) error

JsonUnmarshal Декодирование значения Value из BASE64 в срез байт, а затем декодирование среза байт из JSON в переданный объект.

func (*File) ValueGet

func (tfo *File) ValueGet() (ret []byte)

ValueGet Декодирование значения Value из BASE64 в срез байт.

func (*File) ValueSet

func (tfo *File) ValueSet(b []byte)

ValueSet Кодирование среда байт в значение BASE64 и установка в свойство Value объекта.

type ImageEmbedFn

type ImageEmbedFn func(mme dic.IMime, img *bytes.Buffer) (newUri string)

ImageEmbedFn Функция замены встроенных изображений методом data:url. Если функция вернёт пустое значение, тогда замена изображения, в теле шаблона, производиться не будет. Функция получает значения:

mme - MIME тип изображения;
img - Тело файла изображения;

Функция должна вернуть новое значение:

newUri - Новый URI изображения;

type ImageUriFn

type ImageUriFn func(mme dic.IMime, now *url.URL) (newUri string)

ImageUriFn Функция замены ссылок на изображение. Если функция вернёт пустое значение, тогда замена URI изображения, в теле шаблона, производиться не будет. Функция получает значения:

mme - MIME тип изображения;
now - Текущий URI картинки;

Функция должна вернуть новое значение:

newUri - Новый URI изображения;

type Interface

type Interface interface {
	// ParseZip Загрузка и разбор шаблона из ZIP файла.
	ParseZip(file io.Reader) (ret *Template, err error)

	// Embedding Встраивание встраиваемого контента в шаблоны сообщений.
	Embedding(tpl *Template) (err error)

	// BodyImageUri Обход, найденных в теле шаблонов с типом HTML, ссылок на изображения и замена их.
	// Для каждого найденного изображения, происходит вызов функции, которая принимает решение о замене изображения.
	// В случае положительного решения, функции возвращает новый URI адрес изображения, который вставляется в шаблон.
	BodyImageUri(tpl *Template, fn ImageUriFn) (err error)

	// BodyImageEmbed Обход, найденных в теле шаблонов с типом HTML, встроенных изображений методом data:url, а так же
	// найденных в архиве встраиваемых изображений.
	// Для каждого изображения, происходит вызов функции, которая принимает решение о замене изображения.
	// В случае положительного решения, функции возвращает новый URI адрес изображения, который вставляется в шаблон.
	BodyImageEmbed(tpl *Template, fn ImageEmbedFn) (err error)
}

Interface Интерфейс пакета.

func New

func New() Interface

New Конструктор объекта сущности пакета, возвращается интерфейс пакета.

type Tags

type Tags struct {
	Key   string `json:"key"`   // Название тега, латиница, с заглавной буквы.
	Value string `json:"value"` // Значение тега по умолчанию.
}

Tags Часть электронного сообщения - теги.

type Template

type Template struct {
	Body       []Body     `json:"body"`     // Массив шаблонов электронного сообщения.
	Tags       []Tags     `json:"tags"`     // Массив тегов электронного сообщения.
	Embedded   []File     `json:"embedded"` // Массив встраиваемых вложений электронного сообщения.
	Attach     []File     `json:"attach"`   // Массив прикрепляемых вложений электронного сообщения.
	BodyImgUri []*url.URL `json:"-"`        // Найденные в теле шаблона ссылки на изображения.
}

Template Структура объекта электронного сообщения.

Jump to

Keyboard shortcuts

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