Skip to main content

Dead simple IMAP CLI client

Project description

📧 myl

myl is a dead simple IMAP CLI client hosted on GitHub at https://github.com/pschmitt/myl

📝 Description

myl is a command-line interface client for IMAP, designed to provide a straightforward way to interact with IMAP servers.

⭐ Features

  • Simple command-line interface
  • Support for various IMAP operations
  • Autodiscovery of the required server and port
  • Support for Google IMAP settings
  • Fetch a specific number of messages
  • Mark messages as seen
  • Fetch messages from a specific folder
  • Search for specific strings in messages
  • Output HTML email
  • Output raw email
  • Fetch a specific mail by ID
  • Fetch a specific attachment

🚀 Installation

To install myl, follow these steps:

pipx install myl
# or:
pip install --user myl

on nix you can do this:

nix run github:pschmitt/myl -- --help

🛠️ Usage

Here's how you can use myl:

myl --help

This command will display the help information for the myl command.

Here are some examples of using flags with the myl command:

# Connect to an IMAP server
myl --server imap.example.com --port 143 --starttls --username "$username" --password "$password"

# Use Google IMAP settings
myl --google --username "$username" --password "$password"

# Autodiscovery of the required server and port
myl --auto --username "$username" --password "$password"

# We won't repeat the server connection flags from here
alias myl="command myl --auto --username \"$username\" --password \"$password\""

# Fetch a specific number of messages
myl --count 5

# Mark messages as seen
myl --mark-seen

# Fetch messages from a specific folder
myl --folder "INBOX"

# Search for specific strings in messages
myl --search "important"

# Fetch a specific mail ID
myl "$MAILID"

# Show HTML
myl --html "$MAILID"

# raw email
myl --raw "$MAILID" > email.eml

# Fetch a specific attachment (outputs to stdout)
myl "$MAILID" "$ATT" > att.txt

Please replace imap.example.com, $username, $password, $MAILID, and $ATT with your actual IMAP server details, username, password, mail ID, and attachment name.

📜 License

This project is licensed under the GPL-3.0 license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

myl-0.9.2.tar.gz (46.6 kB view details)

Uploaded Source

Built Distribution

myl-0.9.2-py3-none-any.whl (31.1 kB view details)

Uploaded Python 3

File details

Details for the file myl-0.9.2.tar.gz.

File metadata

  • Download URL: myl-0.9.2.tar.gz
  • Upload date:
  • Size: 46.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for myl-0.9.2.tar.gz
Algorithm Hash digest
SHA256 bc11746ed0227ae66d6f8dc2cea8a8c9245c342f0ce4270bcc296d80a8b61627
MD5 087178f6b36ccc838d6a7d3a7cce33d8
BLAKE2b-256 ae72d9f42a2a7720734935c6e39874ca914e3a1b6a530529216f0c487dc1edf1

See more details on using hashes here.

Provenance

The following attestation bundles were made for myl-0.9.2.tar.gz:

Publisher: pypi.yaml on pschmitt/myl

Attestations:

File details

Details for the file myl-0.9.2-py3-none-any.whl.

File metadata

  • Download URL: myl-0.9.2-py3-none-any.whl
  • Upload date:
  • Size: 31.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for myl-0.9.2-py3-none-any.whl
Algorithm Hash digest
SHA256 47444b7d3c02afb4c1094ba297ded1bc9536c070b2b8bde43f0cd7f684567c84
MD5 25aa484223d9f388e6a91db661057bd4
BLAKE2b-256 7e966cd08f67ea699ea753691dc45a42aa518451eb574f360160a14a44f053c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for myl-0.9.2-py3-none-any.whl:

Publisher: pypi.yaml on pschmitt/myl

Attestations:

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page