2.5 KiB
IMAP JSON Fetcher
Setup
Before running the imap-json-fetcher
, ensure that you have configured the necessary environment variables. This script uses these variables to securely connect to your IMAP server and fetch emails from a specified mailbox.
Required Environment Variables
Set the following environment variables in your system:
IMAP_HOST
: The address of your IMAP server, including the port if necessary (e.g.,imap.example.com:993
).IMAP_USERNAME
: Your email account username.IMAP_PASSWORD
: Your email account password.IMAP_FOLDER
: The specific folder to monitor for new emails. If not specified, the script defaults to monitoring the "INBOX".
You can set these variables in a Unix-like environment using the following commands:
export IMAP_HOST="your_imap_server_address"
export IMAP_USERNAME="your_username"
export IMAP_PASSWORD="your_password"
export IMAP_FOLDER="your_folder_name" # Optional, defaults to "INBOX"
Running the Script
Navigate to the dist
directory where the binary is compiled, and run the script using the following command:
./imap-json-fetcher
Docker Container Example
For running in a Docker container, you might set it up like this, passing the environment variables into your container. Replace specifics to fit your architecture and environment settings:
docker run --env IMAP_HOST=$IMAP_HOST \
--env IMAP_USERNAME=$IMAP_USERNAME \
--env IMAP_PASSWORD=$IMAP_PASSWORD \
--env IMAP_FOLDER=$IMAP_FOLDER \
--name imap-json-fetcher \
your_docker_image
This command assumes that you've built a Docker image named your_docker_image
that encapsulates your application.
Output
The imap-json-fetcher
listens for new emails arriving in the specified IMAP folder. For each new email, it extracts relevant data and saves this information in separate JSON files. The inclusion of the IMAP_FOLDER
environment variable allows flexibility in choosing which folder to monitor, beyond just the default "INBOX".
File Naming Convention
Output files are named using a timestamp to ensure uniqueness: email-yyyyMMdd-HHmmss.json
. This format prevents overwriting files and helps in organizing data chronologically.
Flexibility in Folder Selection
The IMAP_FOLDER
environment variable provides users the flexibility to monitor various folders within their email account, such as "Sent", "Archive", or custom labels, depending on their specific requirements.