Documentation ¶
Index ¶
- Variables
- type Bot
- func (b *Bot) ActivateMailbox(ownerID id.UserID, roomID id.RoomID, mailbox string) bool
- func (b *Bot) AllowAuth(email, password string) (id.RoomID, bool)
- func (b *Bot) BanAuth(addr net.Addr)
- func (b *Bot) BanAuto(addr net.Addr)
- func (b *Bot) BanManually(addr net.Addr)
- func (b *Bot) Error(ctx context.Context, message string, args ...any)
- func (b *Bot) GetDKIMprivkey() string
- func (b *Bot) GetIFOptions(roomID id.RoomID) email.IncomingFilteringOptions
- func (b *Bot) GetMapping(mailbox string) (id.RoomID, bool)
- func (b *Bot) IncomingEmail(ctx context.Context, eml *email.Email) error
- func (b *Bot) IsBanned(addr net.Addr) bool
- func (b *Bot) IsGreylisted(addr net.Addr) bool
- func (b *Bot) IsTrusted(addr net.Addr) bool
- func (b *Bot) SendEmailReply(ctx context.Context)
- func (b *Bot) Sendmail(eventID id.EventID, from, to, data string) (bool, error)
- func (b *Bot) SetSendmail(sendmail func(string, string, string) error)
- func (b *Bot) Start(statusMsg string) error
- func (b *Bot) Stop()
- func (b *Bot) SyncRooms()
- type MBXConfig
Constants ¶
This section is empty.
Variables ¶
var ErrNoRoom = errors.New("room not found")
Functions ¶
This section is empty.
Types ¶
type Bot ¶
type Bot struct {
// contains filtered or unexported fields
}
Bot represents matrix bot
func New ¶
func New( q *queue.Queue, lp *linkpearl.Linkpearl, log *zerolog.Logger, cfg *config.Manager, proxies []string, prefix string, domains []string, admins []string, mbxc MBXConfig, ) (*Bot, error)
New creates a new matrix bot
func (*Bot) ActivateMailbox ¶ added in v0.9.10
ActivateMailbox using the configured flow
func (*Bot) AllowAuth ¶ added in v0.9.4
AllowAuth check if SMTP login (email) and password are valid
func (*Bot) BanManually ¶ added in v0.9.16
Ban an address manually
func (*Bot) GetDKIMprivkey ¶ added in v0.9.9
GetDKIMprivkey returns DKIM private key
func (*Bot) GetIFOptions ¶ added in v0.9.6
func (b *Bot) GetIFOptions(roomID id.RoomID) email.IncomingFilteringOptions
GetIFOptions returns incoming email filtering options (room settings)
func (*Bot) GetMapping ¶
GetMapping returns mapping of mailbox = room
func (*Bot) IncomingEmail ¶ added in v0.9.9
IncomingEmail sends incoming email to matrix room
func (*Bot) IsGreylisted ¶ added in v0.9.9
IsGreylisted checks if host is in greylist
func (*Bot) SendEmailReply ¶ added in v0.9.9
SendEmailReply sends replies from matrix thread to email thread
func (*Bot) Sendmail ¶ added in v0.9.9
Sendmail tries to send email immediately, but if it gets 4xx error (greylisting), the email will be added to the queue and retried several times after that
func (*Bot) SetSendmail ¶ added in v0.9.9
SetSendmail sets mail sending func to the bot