Skip to main content

pymap-admin

build PyPI PyPI platforms PyPI

The pymap-admin tool can be used to perform various admin functions against a running pymap server. This is a separate grpc service using grpclib listening on a socket.

API Documentation

Connections

By default, the pymap-admin command will attempt to interact with a pymap admin server over a UNIX socket, typically in /tmp/pymap/pymap-admin.sock. See the pymap-admin --help commands for other connection options.

Commands

save-args Command

When administering remote pymap servers, it can be cumbersome to always supply connection arguments every time, such as --host. This command saves the arguments it is given to a config file.

$ pymap-admin --host imap.example.com --port 50051 save-args
Config file written: /home/user/.config/pymap/pymap-admin.conf

login Command

Sends login credentials and gets a bearer token. See Authentication for more information.

$ pymap-admin login -is user@example.com
user@example.com Password:
result {
  response: ". OK Login completed."
}
bearer_token: "MDAwZWxvY2F0aW9uIAowMDMwaWRlbnRpZmllciA0ZmM4MD..."

ping Command

Pings the running server and reports its version string.

$ pymap-admin ping
pymap_version: "0.21.1"
pymap_admin_version: "0.5.2"

append Command

To append a message directly to a mailbox, without using IMAP, use the append admin command. First, check out the help:

$ pymap-admin append --help

As a basic example, you can append a message to a like this:

$ cat <<EOF | pymap-admin append demouser
> From: user@example.com
>
> test message!
> EOF
mailbox: "INBOX"
validity: 1784302999
uid: 101

2.0.0 Message delivered

User Commands

These commands access and manipulate the users on the system:

$ pymap-admin set-user --help
$ pymap-admin change-password --help
$ pymap-admin get-user --help
$ pymap-admin delete-user --help

Passing a username to get-user will display that user's metadata, including the (securely hashed) password string. A username can be deleted with delete-user. The set-user command will create or overwrite a username, its password, and other metadata. The change-password command can update only the password of an existing username.

If using pymap as part of the slimta-docker configuration, see its Address Management documentation for additional options.

Admin Role

The builtin pymap backends use a special role string "admin" to assign admin privileges to existing users. Without the admin role, a user may only use set-user to change their own password. A user with the admin role (or using the admin token) can make any change to any user.

$ pymap-admin set-user --role admin user@example.com

Authentication

Every command except ping requires authentication to perform. Most commands will send a macaroon token to authenticate, except for login which uses the credentials provided.

When running pymap-admin and pymap on the same machine, a temporary file containing an admin token is used by default, allowing unrestricted access to all operations. This token is verified in-memory and is only valid for the current pymap process.

To use this admin token on another machine, copy the PYMAP_ADMIN_TOKEN=... line printed out on pymap startup and prefix it to pymap-admin calls, e.g.:

$ PYMAP_ADMIN_TOKEN=... pymap-admin get-user user@example.com

Permanent Tokens

For a token that is not tied to the current pymap process, use the login with the credentials of a user in the system. The resulting token can be used to authenticate as that user in the future.

$ pymap-admin login -is user@example.com

The -s flag will cause the token to be saved and used on future pymap-admin commands. Use --token-file or $PYMAP_ADMIN_TOKEN_FILE to specify a location, otherwise it is saved to ~/.pymap-admin.token.

If -s is not given, the bearer_token value from the output can provided to future pymap-admin commands with $PYMAP_ADMON_TOKEN.

Download files

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

Source Distribution

pymap_admin-0.12.1.tar.gz (31.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pymap_admin-0.12.1-py3-none-any.whl (41.3 kB view details)

Uploaded Python 3

File details

Details for the file pymap_admin-0.12.1.tar.gz.

File metadata

  • Download URL: pymap_admin-0.12.1.tar.gz
  • Upload date:
  • Size: 31.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.24.1

File hashes

Hashes for pymap_admin-0.12.1.tar.gz
Algorithm Hash digest
SHA256 14b3026d42f226641817c2c91c9b908bd3349072203cc8adcfe3dd76525d8d91
MD5 f17ecc6680b3dd7fa0d1de3d77bdc583
BLAKE2b-256 e460df344f4b9fbd703a3afab0a7964d6138bf1d8d293118db2ce00fc3b887d3

See more details on using hashes here.

File details

Details for the file pymap_admin-0.12.1-py3-none-any.whl.

File metadata

  • Download URL: pymap_admin-0.12.1-py3-none-any.whl
  • Upload date:
  • Size: 41.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.24.1

File hashes

Hashes for pymap_admin-0.12.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7c218b09395c1acc79d829bbb5d335175da652278397e9fdedecab443d9bc12c
MD5 70befe57a786a9aab4324cf46a271ad7
BLAKE2b-256 4fbfaf4dc7f612b79003ea1c1f590a1aa2df358a9df1687203af8cb2c2196260

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.12.1 This release

2 files

0.12.0

2 files

0.11.0

2 files

0.10.2

2 files

0.10.1

2 files

0.10.0

2 files

0.9.2

2 files

0.9.1

2 files

0.9.0

2 files

0.8.0

2 files

0.7.1

2 files

0.7.0

2 files

0.6.0

2 files

0.5.3

2 files

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

0.4.3

2 files

0.4.2

1 file

0.4.1

1 file

0.4.0

1 file

0.3.0

1 file

0.2.1

1 file

0.2.0

1 file

0.1.2

1 file

0.1.1

1 file

0.1.0

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page