Files
mailblog/imap_handler.go
2025-07-27 21:09:37 +02:00

45 lines
835 B
Go

package main
import (
"log"
"mime"
"github.com/emersion/go-imap/v2/imapclient"
"github.com/emersion/go-message/charset"
)
type MailBox struct {
Server string
User string
Password string
Client *imapclient.Client
}
func (mb *MailBox) ListMessages() (string, error) {
return "", nil
}
func (mb *MailBox) Connect() error {
options := &imapclient.Options{
WordDecoder: &mime.WordDecoder{CharsetReader: charset.Reader},
}
var err error
mb.Client, err = imapclient.DialTLS(mb.Server, options)
if err != nil {
log.Println("Error connnecting to", mb.Server, ":", err)
return err
}
log.Println("Connected")
err = mb.Client.Login(mb.User, mb.Password).Wait()
if err != nil {
log.Fatal("failed to login:", err)
}
log.Println("Logged in")
return nil
}
func (mb *MailBox) Close() {
mb.Client.Close()
}