sendxmpp - отправлять сообщения по Jabber
Консольная утилита sendxmpp позволяет отправлять сообщения по протоколу xmpp (попросту Jabber)
Настройка
Программа требует конфигурационный файл. По умолчанию в домашней директории или его местоположение можно указать.
Создание конфига
touch ~/.sendxmpprc
~/.sendxmpprc
user@server password
Затем выставить права
chmod 600 ~/.sendxmpprc
Если права выставлены неправильно, то можно получить сообщение
/home/user/.sendxmpprc must not be accessible by others
Отправка сообщений
Просто отправить сообщение
echo preved | sendxmpp -t user@server
- -t используется если сервер требует авторизации через SSL,TLS
Отправить сообщение из файла my.txt
sendxmpp -t -m my.txt user@server
Запуск с указанием откуда брать конфиг
echo preved | sendxmpp -t -f /etc/sendxmpp.conf user@server
- -f используется для указания пути к файлу профиля настроек
При выполнение через через cron лучше прописать путь к настройкам
Вариант без конфига
echo preved | sendxmpp -j jabber.org -u user -p paS$woRd to_this_user@jabber.org
Проблемы
Ubuntu 9.04
Can't use an undefined value as a HASH reference at /usr/share/perl5/XML/Stream.pm line 1165.Заменить чуть выше строчку
Stream.pm
... # delete($self->{SIDS}->{$currsid}); delete($self->{SIDS}->{$currsid}) unless $currsid eq $sid; ...
Gentoo Linux (13.05.2011)
Error 'AuthSend': error: invalid-authzid[?]
Комментируем строчку link
/usr/lib/perl5/vendor_perl/(_Version_)/Net/XMPP/Protocol.pm
... if($self->{STREAM}->GetStreamFeature($self->GetStreamID(),"xmpp-sasl")) { # return $self->AuthSASL(%args); } ...
Обсуждение
… Undefined subroutine &XML::Stream::Tree::_handle_element called at /usr/lib/perl5/vendor_perl/5.12.4/XML/Stream/Parser.pm line 144.