* Rename variables matrix_bot_postmoogle_* with matrix_postmoogle_* Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org> * Rename file names and references to those files Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org> * Move variables block for /matrix-bridge-postmoogle Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org> * Rename matrix_playbook_bot_postmoogle_ to matrix_playbook_bridge_postmoogle_ Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org> * Add matrix_playbook_migration_matrix_postmoogle_migration_validation_enabled Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org> * Replace an install tag example with "-bot" prefix The previous example seems to have been selected to show how components whose name contains "-bot-" needed to be specified. Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org> --------- Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org> Co-authored-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
3.6 KiB
Setting up Postmoogle email bridging (optional)
Note: email bridging can also happen via the email2matrix bridge supported by the playbook.
The playbook can install and configure Postmoogle for you.
Postmoogle is a bridge you can use to have its bot user forward emails to Matrix rooms. It runs an SMTP email server and allows you to assign mailbox addresses to the rooms.
See the project's documentation to learn what it does and why it might be useful to you.
Prerequisites
Open the following ports on your server to be able to receive incoming emails:
25/tcp
: SMTP587/tcp
: Submission (TLS-encrypted SMTP)
If you don't open these ports, you will still be able to send emails, but not receive any.
These port numbers are configurable via the matrix_postmoogle_smtp_host_bind_port
and matrix_postmoogle_submission_host_bind_port
variables, but other email servers will try to deliver on these default (standard) ports, so changing them is of little use.
Adjusting the playbook configuration
Add the following configuration to your inventory/host_vars/matrix.example.com/vars.yml
file:
matrix_postmoogle_enabled: true
# Uncomment and adjust this part if you'd like to use a username different than the default
# matrix_postmoogle_login: postmoogle
# Generate a strong password here. Consider generating it with `pwgen -s 64 1`
matrix_postmoogle_password: PASSWORD_FOR_THE_BOT
# Uncomment to add one or more admins to this bridge:
#
# matrix_postmoogle_admins:
# - '@yourAdminAccount:{{ matrix_domain }}'
#
# .. unless you've made yourself an admin of all bots/bridges like this:
#
# matrix_admin: '@yourAdminAccount:{{ matrix_domain }}'
Adjusting DNS records
You will also need to add several DNS records so that Postmoogle can send emails. See Configuring DNS for details about DNS changes.
Installing
After configuring the playbook, run the installation command:
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start
Notes:
-
the
ensure-matrix-users-created
playbook tag makes the playbook automatically create a user account of the bridge's bot -
if you change the bridge's bot password (
matrix_postmoogle_password
in yourvars.yml
file) subsequently, the bot user's credentials on the homeserver won't be updated automatically. If you'd like to change the bot user's password, use a tool like synapse-admin to change it, and then updatematrix_postmoogle_password
to let the bot know its new password
Usage
To use the bridge, invite the @postmoogle:example.com
bot user into a room you want to use as a mailbox.
Then send !pm mailbox NAME
to expose this Matrix room as an inbox with the email address NAME@matrix.example.com
. Emails sent to that email address will be forwarded to the room.
Send !pm help
to the room to see the bridge's help menu for additional commands.
You can also refer to the upstream documentation.
Debug/Logs
As with all other services, you can find their logs in systemd-journald by running something like journalctl -fu matrix-postmoogle
The default logging level for this bridge is INFO
, but you can increase it to DEBUG
with the following additional configuration:
matrix_postmoogle_loglevel: 'DEBUG'