H0llyW00dzZ
464fdc1bbd
- [+] feat: add initial implementation of IMAP client package with support for single and multiple user management - [+] chore: add .gitignore file to exclude binaries, IDE files, and environment configurations - [+] docs: add README file with project description, features, installation, usage examples, and license information - [+] docs: add BSD 3-Clause License file - [+] feat(client): implement configuration and connection handling for IMAP clients - [+] feat(client): implement message listing functionality for single and multiple users - [+] feat(client): add support for secure TLS connections in IMAP client - [+] feat(client): create helper functions for initializing single and multi-user IMAP clients - [+] chore: initialize Go module and add dependencies for IMAP and byte buffer pooling
22 lines
544 B
Go
22 lines
544 B
Go
// Copyright (c) 2025 H0llyW00dzZ All rights reserved.
|
|
//
|
|
// By accessing or using this software, you agree to be bound by the terms
|
|
// of the License Agreement, which you can find at LICENSE files.
|
|
|
|
package client
|
|
|
|
import "sync"
|
|
|
|
// MultiUserIMAP manages multiple IMAP clients for different users
|
|
type MultiUserIMAP struct {
|
|
clients map[string]*IMAPClient
|
|
mu sync.Mutex
|
|
}
|
|
|
|
// NewMultiUserIMAP initializes a new MultiUserIMAP
|
|
func NewMultiUserIMAP() *MultiUserIMAP {
|
|
return &MultiUserIMAP{
|
|
clients: make(map[string]*IMAPClient),
|
|
}
|
|
}
|