有一个脚本接受通过调用 bat.cmd 传递给它的参数。第一个参数是地址,第二个是消息的正文。
在消息的正文中,我通过了所有可能的方式来换行,.. 和“text\n”,以及“text<\br>”和“textMOVE PZHLSTA” - 在客户端的 jabber 窗口(QIP,Pidgin , JAJC) 我收到了我发送的内容 - “文本\n”。在 <\br> 的情况下,消息已发送但根本没有收到。
但是,如果在 body => "text\ntext" 中,则该行的传输没有问题。
有没有办法在单个消息的正文中组织换行符?提前致谢!
#!/usr/bin/perl
use strict;
use utf8;
use Encode;
use Net::XMPP;
use Net::XMPP::Stanza;
use base qw( Net::XMPP::Stanza );
my ($recip, $msg) = @ARGV;
$msg=decode("cp1251",$msg);
if(! $recip || ! $msg) {
print 'Syntax: $0 <recipient> <message>\n';
exit;
}
my $con = new Net::XMPP::Client();
my $status = $con->Connect(
hostname => 'HOST',
connectiontype => 'tcpip',
tls => 0);
die('ERROR: XMPP connection failed') if ! defined($status);
my @result = $con->AuthSend(
hostname => 'HOST',
username => 'JID',
password => 'PASS');
die('ERROR: XMPP authentication failed') if $result[0] ne 'ok';
my $message = Net::XMPP::Message->new();
$message->SetMessage(to => $recip, subject=> 'theme', body => $msg, type => 'chat');
$message->InsertRawXML("<html><body>$msg</body></html>");
$con->Send($message);