Documentation
¶
Index ¶
- func Params() []string
- func Request(data map[string]any, opts ...Option) (map[string]any, error)
- func Serve()
- type Action
- type Callback
- type Command
- type CopyData
- type CreateData
- type Criteria
- type Data
- type DeleteData
- type FetchData
- type ListData
- type MailboxInfo
- type Message
- type NoopData
- type Option
- type RenameData
- type Req
- func (r *Req) Copy(sequence, mailbox string, uid bool) (*CopyData, error)
- func (r *Req) Create(mailbox string) (*CreateData, error)
- func (r *Req) Delete(mailbox string) (*DeleteData, error)
- func (r *Req) Do() (*Result, error)
- func (r *Req) Examine(mb string) (*SelectData, error)
- func (r *Req) ExecCommands() (*Data, error)
- func (r *Req) Fetch(sequence, dataitem string) (*FetchData, error)
- func (r *Req) List(ref, pattern string) (*ListData, error)
- func (r *Req) Noop() (*NoopData, error)
- func (r *Req) Rename(oldMailbox, newMailbox string) (*RenameData, error)
- func (r *Req) Search(cr *Criteria) (*SearchData, error)
- func (r *Req) Select(mb string) (*SelectData, error)
- func (r *Req) Store(sequence, dataitem, value string, uid bool) (*StoreData, error)
- func (r *Req) Subscribe(mailbox string) (*StatusData, error)
- func (r *Req) UIDFetch(sequence, dataitem string) (*FetchData, error)
- func (r *Req) UIDSearch(cr *Criteria) (*SearchData, error)
- func (r *Req) Unsubscribe(mailbox string) (*StatusData, error)
- type Res
- type Result
- type SearchData
- type SelectData
- type StatusData
- type StoreData
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Params ¶ added in v1.20.0
func Params() []string
Params returns the keys the imap action takes in with.
Types ¶
type Command ¶ added in v1.18.0
type Command struct {
Name string `map:"name" validate:"required"`
Mailbox string `map:"mailbox"`
OldMailbox string `map:"oldmailbox"`
NewMailbox string `map:"newmailbox"`
Reference string `map:"reference"`
Pattern string `map:"pattern"`
Criteria Criteria `map:"criteria"`
Sequence string `map:"sequence"`
Dataitem string `map:"dataitem"`
Value string `map:"value"`
}
Without login, logout and Expunge
type CreateData ¶ added in v1.18.0
type Criteria ¶ added in v1.18.0
type Criteria struct {
SeqNums []string `map:"seq_nums"`
UIDs []string `map:"uids"`
Since string `map:"since"`
Before string `map:"before"`
SentSince string `map:"sent_since"`
SentBefore string `map:"sent_before"`
Headers map[string]string `map:"headers"`
Bodies []string `map:"bodies"`
Texts []string `map:"texts"`
Flags []string `map:"flags"`
NotFlags []string `map:"not_flags"`
}
type Data ¶ added in v1.18.0
type Data struct {
Select SelectData `map:"select"`
Examine SelectData `map:"examine"`
Search SearchData `map:"search"`
List ListData `map:"list"`
Fetch FetchData `map:"fetch"`
Store StoreData `map:"store"`
Copy CopyData `map:"copy"`
Create CreateData `map:"create"`
Delete DeleteData `map:"delete"`
Rename RenameData `map:"rename"`
Subscribe StatusData `map:"subscribe"`
Unsubscribe StatusData `map:"unsubscribe"`
Noop NoopData `map:"noop"`
}
type DeleteData ¶ added in v1.18.0
type ListData ¶ added in v1.18.0
type ListData struct {
Mailboxes []MailboxInfo `map:"mailboxes"`
Count int `map:"count"`
}
type MailboxInfo ¶ added in v1.18.0
type Message ¶ added in v1.18.0
type Message struct {
UID int `map:"uid"`
Flags []string `map:"flags"`
// Date is the envelope's Date in RFC 3339, such as
// 2025-10-08T07:11:55Z. A time.Time came out of the result as an empty
// map.
Date string `map:"date"`
From string `map:"from"`
To string `map:"to"`
Subject string `map:"subject"`
Body string `map:"body"`
HTMLBody string `map:"html_body"`
Size int `map:"size"`
Headers map[string]string `map:"headers"`
}
Message represents an email message
type RenameData ¶ added in v1.18.0
type Req ¶ added in v1.18.0
type Req struct {
Host string `map:"host" validate:"required"`
Port int `map:"port" validate:"required"`
Username string `map:"username" validate:"required"`
Password string `map:"password" validate:"required"`
TLS bool `map:"tls"`
Timeout time.Duration `map:"timeout"`
InsecureSkipTLS bool `map:"insecure_skip_tls"`
Commands []Command `map:"commands"`
// contains filtered or unexported fields
}
func (*Req) Copy ¶ added in v1.18.0
Copy implements COPY and UID COPY: it copies the given messages into mailbox. Count is the number of messages the server reports copied, which it does when it supports UIDPLUS; otherwise it is 0.
func (*Req) Create ¶ added in v1.18.0
func (r *Req) Create(mailbox string) (*CreateData, error)
Create implements CREATE command
func (*Req) Delete ¶ added in v1.18.0
func (r *Req) Delete(mailbox string) (*DeleteData, error)
Delete implements DELETE command
func (*Req) Examine ¶ added in v1.18.0
func (r *Req) Examine(mb string) (*SelectData, error)
Examine implements EXAMINE command (read-only SELECT)
func (*Req) ExecCommands ¶ added in v1.18.0
DEBUG: hclog.Default().Info(fmt.Sprintf("%#v\n", data))
func (*Req) Rename ¶ added in v1.18.0
func (r *Req) Rename(oldMailbox, newMailbox string) (*RenameData, error)
Rename implements RENAME command
func (*Req) Store ¶ added in v1.18.0
Store implements STORE and UID STORE: it changes the flags of the given messages. dataitem is FLAGS, +FLAGS or -FLAGS, optionally followed by .SILENT, and value lists the flags, as in "\Seen \Flagged" or "(\Seen)".
func (*Req) Subscribe ¶ added in v1.18.0
func (r *Req) Subscribe(mailbox string) (*StatusData, error)
Subscribe implements SUBSCRIBE command
func (*Req) Unsubscribe ¶ added in v1.18.0
func (r *Req) Unsubscribe(mailbox string) (*StatusData, error)
Unsubscribe implements UNSUBSCRIBE command