go-sendxmpp(5) - A tool to send messages to an XMPP contact or MUC.

1. go-sendxmpp(5)
3. go-sendxmpp(5)

## NAME

`go-sendxmpp` - A tool to send messages to an XMPP contact or MUC.

## LOCATION

The account data is expected at `~/.config/go-sendxmpp/config` (preferred), `~/.config/go-sendxmpp/sendxmpprc` (deprecated) or `~/.sendxmpprc` (for compatibility with the original perl sendxmpp) if no other configuration file location is specified with -f or --file. The configuration file is expected to be in the following format:

## FORMAT

username: [your_jid]
jserver: [jabber_server]
port: [jabber_port]
password: [your_jabber_password]
eval_password: [command_to_unlock_your_password]
alias: [your_alias]
allow_plain: [bool]
no_root_warning: [bool]
no_legacy_pgp_warning: [bool]
ox_trust_mode: [blind|tofu]

## REQUIRED SETTINGS

If all necessary settings are supplied as command line arguments no config file is needed at all. Setting `jserver` and `port` might not be necessary depending on the used server.
You should either use a password manager and the setting `eval_password` or add your password in plaintext to the config file with the setting `password`. Please be careful with `eval_password` as any command put there will be executed.

## OPTIONS

`username`
  Your JID, e.g. user@example.com.
`jserver`
  Your server, e.g. xmpp.example.com. Should not be necessary if the server is set up properly.
`port`
  The client-to-server port of the XMPP server, e.g. 5222. Should not be necessary if the server is set up properly.
`password`
  Your accounts password, e.g. hunter2 (please, do not use hunter2). Use `"` if your password contains spaces, e.g. "hunter 2" (please, also do not use hunter 2).
`eval_password`
  A command to retrieve the password from a password manager, e.g. pass xmpp/user@example.com.
`alias`
  The alias/nickname for chatrooms, e.g. Martin or "My nick contains spaces".
`allow_plain`
  Boolean to allow PLAIN authentication. Note that this setting has no effect if there was a successful connection using a SCRAM authentication mechanism before. In that case PLAIN is not allowed to prevent downgrades by a man-in-the-middle attack.
  Allowed values: true/false (Default: false)
`no_root_warning`
  Boolean to disable the warning when running as root. Note that running as root is discouraged although go-sendxmpp tries to drop the root privileges before doing network calls. Be aware that OX, legacy PGP and the pinning to not use PLAIN authentication after a successful SCRAM authentication are disabled as those need file system access in the private user scope after dropping the privileges.
  Allowed values: true/false (Default: false)
`no_legacy_pgp_warning`
  Boolean to disable the warning when using legacy PGP. Please note, that *legacy PGP** is deprecated and will be removed in an upcoming update. It is highly recommended to use OX instead.
  Allowed values: true/false (Default: false)
`ox_trust_mode`
  Accepts the strings tofu and blind. Tofu means trust on first usage and accepts any OX key if none is stored in the cache yet. If the key ID changes go-sendxmpp will refuse to encrypt. Blind means go-sendxmpp will import and trust any new key that is advertised by the recipient.
  Allowed values: tofu/blind (Default: blind)

## AUTHOR

Written by Martin Dosch.

## REPORTING BUGS

Report bugs at https://salsa.debian.org/mdosch/go-sendxmpp/-/work_items.

## COPYRIGHT

Copyright (c) Martin Dosch License: BSD 2-clause License

## SEE ALSO

go-sendxmpp(1), sendxmpp(1)

2. July 2026
3. go-sendxmpp(5)