Simple POP3 server that gets its messages via a webhook. Single account/mailbox only.
Can be used to connect mail-based applications to a server such as postal.
- Storage of mail in the filesystem (or in-memory)
- POP3 compliant
- simple user authentication (user+password, single user)
- webhook to receive mail
- simple authentication for the webhook (token)
I recommend using the docker image: ghcr.io/linkyard/pop3-webhook-server:latest or eu.gcr.io/linkyard-191615/linkyard-cloud/pop3-webhook-server (private)
Run by calling the executable with the following parameters (env or command line)
user: Username that can be used to connect via POP3. Default:mailpassword: Password that is used to connect via POP3 (required)token: Token that is required to submit via webhook (required)")http-interface: The address to listen on for HTTP requests. Default:localhost:8080base-path: The base HTTP path the webhook should run under. Default:/pop-interface: Interface (host:port) to listen on. Default:localhost:1100mail-dir: Directory to store the mail in. Required unless in-memory-only is setin-memory-only: Set totrueto not persist the messages to disk. Default:falselog-level: Log level (ERROR, WARN, INFO, DEBUG, TRACE). Default: INFO
Store the mail by calling the webhook (default is http://localhost:8080/store).
Query Paramters:
token: set to the same value as the startup parameter (used for authentication)
Body - application/json with the following fields:
id(number): ID of the messagemessage(string, base64 encoded): The raw content of the message
Connect to the POP3 server at localhost:1100 (or what you specified in pop-interface).
Use basic authentication with the user/password you specified at startup.
- Uses https://github.com/DevelHell/popgun/ for POP3
MIT, see License