sendxmpp (1) - Linux Manuals

sendxmpp: send xmpp messages from the commandline.


sendxmpp - send xmpp messages from the commandline.


sendxmpp [options] <recipient1> [<recipient2> ...]

sendxmpp --raw [options]


sendxmpp is a program to send XMPP (Jabber) messages from the commandline, not unlike mail(1). Messages can be sent both to individual recipients and chatrooms.


-f,--file file
Use file configuration file instead of ~/.sendxmpprc
-u,--username user
Use user instead of the one in the configuration file
-p,--password password
Use password instead of the one in the configuration file
Instead of specifying username or password, attempt to use system level SSO (e.g. kerberos) if supported.
-j,--jserver server
Use jabber server instead of the one in the configuration file.
-o,--component componentname
Use componentname in connect call. Seems needed for Google talk.
-r,--resource res
Use resource res for the sender [default: 'sendxmpp']; when sending to a chatroom, this determines the 'alias'
Connect securely, using TLS
Connect securely, using SSL
Deactivate the verification of SSL certificates. Better way is to use parameter --tls-ca-path with the needed path to CA certificates.
Path to your custom CA certificates, so you can verificate SSL certificates during connecting.
Backward compatibility option. You should use --message-type=headline instead. Send a headline type message (not stored in offline messages)
Set type of message. Supported types are: message chat headline. Default message type is message. Headline type message can be set also with --headline option, see --headline
Send the message to a chatroom
-s,--subject subject
Set the subject for the message to subject [default: '']; when sending to a chatroom, this will set the subject for the chatroom
-m,--message message
Read the message from message (a file) instead of stdin
Work in interactive mode, reading lines from stdin and sending the one-at-time
Send raw XML message to jabber server
Give verbose output about what is happening
Show a 'Usage' message
Show debugging info while running. WARNING: This will include passwords etc. so be careful with the output! Specify multiple times to increase debug level.


You may define a '~/.sendxmpprc' file with the necessary data for your xmpp-account. Since version 1.24 the following format is supported:

    username: I<your_username>
    jserver: I<jabber_server>
    port: I<jabber_port>
    password: I<your_jabber_password>
    component: I<optional_component_name>

Example for Google Talk servers:

    username: I<>
    jserver: I<>
    password: I<my-secure-password>
    component: I<>

With version 1.23 and older only one-line format is supported:

user@server password componentname


    # my account
    alice [at]  secret

('#' and newlines are allowed like in shellscripts). You can add a host (or IP address) if it is different from the server part of your JID:

    # account with specific connection host
    alice [at]; secret

You can also add a port if it is not the standard XMPP port:

    # account with weird port number
    alice [at] secret

Of course, you may also mix the two:

    # account with a specific host and port
    alice [at]; secret

NOTE: for your security, sendxmpp demands that the configuration file is owned by you and readable only to you (permissions 600).


   $ echo "hello bob!" | sendxmpp -s hello someone [at]

     or to send to a chatroom:

   $ echo "Dinner Time" | sendxmpp -r TheCook --chatroom test2 [at]

     or to send your system logs somewhere, as new lines appear:

   $ tail -f /var/log/syslog | sendxmpp -i sysadmin [at]

     NOTE: be careful not the overload public jabber services


sendxmpp has been written by Dirk-Jan C. Binnema <djcb [at]>, and uses the Net::XMPP modules written by Ryan Eatmon. Current maintainer is Lubomir Host < [at]>, <>


Documentation for the Net::XMPP module

The jabber homepage: <>

The sendxmpp homepage: <>