我正在尝试编写一个简单的 Perl 脚本来发送即时消息。Jabber 似乎是最有利的协议。但以下脚本失败:
#!/usr/bin/env perl
use Jabber::SimpleSend qw(send_jabber_message);
send_jabber_message('me@gmail.com',
'CENSORED',
'you@gmail.com',
'subject test',
"body test");
它说:
Can't call method "can_read" on an undefined value at
/opt/local/lib/perl5/site_perl/5.8.9/XML/Stream.pm line 1421.
正如卡特曼的回答所指出的,代码实际上应该是
#!/usr/bin/env perl
use Jabber::SimpleSend qw(send_jabber_message);
send_jabber_message('me%40gmail.com@talk.google.com',
'CENSORED',
'you%40gmail.com@talk.google.com',
'subject test',
"body test");
但这失败并出现以下错误:
No SASL mechanism found
at /usr/local/lib/perl5/site_perl/5.10.0/Authen/SASL.pm line 74
我确实安装了 Authen::SASL cpan 模块。