This project is a Go-based client for processing Gmail messages using the IMAP protocol.
- Programming Language: Go (Golang)
- UI Framework: Fyne
- Email Client: github.com/emersion/go-imap/v2, github.com/emersion/go-message/mail
- JSON Handling: encoding/json
- Logging: log
- File Handling: os, bufio
- IMAP Integration: Connect to Gmail and fetch emails.
- Email Processing: Process received and sent emails based on specific dates.
- GUI Application: User-friendly interface built with Fyne.
- Date-based Filtering: Filter and save emails by date.
- Credentials Management: Securely save and manage email credentials.
- Progress Tracking: Monitor the email fetching and processing status with a visual progress bar.
- Clone the repository:
git clone https://github.com/yourusername/go-imap-gmail-client.git
- Install dependencies:
go mod tidy
- Run the application:
go run main.go
-
Setting Up Gmail:
- This application is currently designed to work with Gmail only.
- You must use an app password to connect to your Gmail account.
- Follow these links for more information on setting up an app password:
- Typically, once you set up 2-Step Verification, you can create an app password directly by visiting this link.
-
Using the Application:
- Save your credentials using your Gmail address and app password.
- Once saved, you can input the desired date in the GUI to generate the text file.
- You can add several accounts, and all email histories will be saved in one text file in the order they were added.
- Ensure the text file is generated correctly.
The first compilation of Fyne on Windows can take up to 10 minutes, depending on your hardware. Subsequent builds will be much faster.
Feel free to submit issues, fork the repository, and send pull requests. Contributions to enhance the project are welcome.
- Explore direct Gmail login using just the Gmail address and password
- Improve GUI for better user experience (feedback and suggestions are welcome!)
- Expand support to include other mail servers beyond Gmail
- Add detailed documentation and tutorials