Skip to content

msftwarelab/go-imap-email-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-imap-gmail-client

Description

This project is a Go-based client for processing Gmail messages using the IMAP protocol.

Main Stack and Libraries

  • 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

Features

  • 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.

Getting Started

  1. Clone the repository:
git clone https://github.com/yourusername/go-imap-gmail-client.git
  1. Install dependencies:
go mod tidy
  1. Run the application:
go run main.go
  1. 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.
  2. 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.

Note for Windows Users

The first compilation of Fyne on Windows can take up to 10 minutes, depending on your hardware. Subsequent builds will be much faster.

🤝 Contributing

Feel free to submit issues, fork the repository, and send pull requests. Contributions to enhance the project are welcome.

🔮 Future Plans

  • 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

About

Connect to Email using the go-imap library

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages