sendxmpp man page

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.

Configuration File

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  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; secret

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

# account with weird port number secret

Of course, you may also mix the two:

# account with a specific host and port; 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
  or to send to a chatroom:
$ echo "Dinner Time" | sendxmpp -r TheCook --chatroom
  or to send your system logs somewhere, as new lines appear:
$ tail -f /var/log/syslog | sendxmpp -i
  NOTE: be careful not the overload public jabber services

See Also

Documentation for the Net::XMPP module

The jabber homepage: <>

The sendxmpp homepage: <>


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


2014-09-13 perl v5.22.1 User Contributed Perl Documentation