pop3

package
v0.35.0 Latest Latest
Warning

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

Go to latest
Published: Apr 26, 2026 License: MIT Imports: 13 Imported by: 0

Documentation

Overview

Package pop3 implements the backend.Provider interface using POP3 for reading email and SMTP for sending.

POP3 is inherently limited compared to IMAP/JMAP:

  • Only supports a single "INBOX" folder
  • No support for flags (mark as read is a no-op)
  • No support for moving or archiving emails
  • No support for push notifications (IDLE)
  • Delete marks for deletion; executed on Quit()

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Provider

type Provider struct {
	// contains filtered or unexported fields
}

Provider implements backend.Provider using POP3+SMTP.

func New

func New(account *config.Account) (*Provider, error)

New creates a new POP3 provider for the given account.

func (*Provider) ArchiveEmail

func (p *Provider) ArchiveEmail(_ context.Context, _ string, _ uint32) error

func (*Provider) ArchiveEmails added in v0.32.0

func (p *Provider) ArchiveEmails(_ context.Context, _ string, _ []uint32) error

func (*Provider) Close

func (p *Provider) Close() error

func (*Provider) DeleteEmail

func (p *Provider) DeleteEmail(_ context.Context, _ string, uid uint32) error

func (*Provider) DeleteEmails added in v0.32.0

func (p *Provider) DeleteEmails(ctx context.Context, folder string, uids []uint32) error

func (*Provider) FetchAttachment

func (p *Provider) FetchAttachment(_ context.Context, _ string, uid uint32, partID, _ string) ([]byte, error)

func (*Provider) FetchEmailBody

func (p *Provider) FetchEmailBody(_ context.Context, _ string, uid uint32) (string, []backend.Attachment, error)

func (*Provider) FetchEmails

func (p *Provider) FetchEmails(_ context.Context, _ string, limit, offset uint32) ([]backend.Email, error)

func (*Provider) FetchFolders

func (p *Provider) FetchFolders(_ context.Context) ([]backend.Folder, error)

func (*Provider) MarkAsRead

func (p *Provider) MarkAsRead(_ context.Context, _ string, _ uint32) error

func (*Provider) MoveEmail

func (p *Provider) MoveEmail(_ context.Context, _ uint32, _, _ string) error

func (*Provider) MoveEmails added in v0.32.0

func (p *Provider) MoveEmails(_ context.Context, _ []uint32, _, _ string) error

func (*Provider) SendEmail

func (p *Provider) SendEmail(_ context.Context, msg *backend.OutgoingEmail) error

func (*Provider) Watch

func (p *Provider) Watch(_ context.Context, _ string) (<-chan backend.NotifyEvent, func(), error)

Jump to

Keyboard shortcuts

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