NAME FTN::Pkt - a module to make FTN-style mail packets SYNOPSIS my $pkt = new FTN::Pkt ( fromaddr => '2:9999/999.128', toaddr => '2:9999/999', password => 'password', inbound => '/var/spool/fido/inbound' ); my $msg = new FTN::Msg( fromname => 'Vassily Poupkine', toname => 'Poupa Vassilyev', subj => 'Hello', text => "Hi, Poupa!\n\nHow do you do?\n\n--\nVassily", fromaddr => '2:9999/999.128', origin => 'My cool origin', tearline => '/usr/bin/perl', area => 'poupa.local', reply => '2:9999/999.1 fedcba987', pid => 'Super-Duper Editor v0.01', tid => 1 ); $pkt->add_msg($msg); $pkt->write_pkt(); DESCRIPTION This module can be used to make FTN-style mail packets. Either echomail or netmail are supported. You can specify @REPLY cludge. @MSGID may be auto-generated or specified manually. If "area" present then message treated as echomail. Othervise it becomes netmail ("toaddr" required). FTN::Msg methods "new(%hash)" A constructor. Some initialization parameters can be passed via %hash. Possible ones are: "fromaddr toaddr fromname toname tearline origin subj text area msgid reply pid tid". All parameters are text but "tid" is boolean. If *true* then @TID cludge will be added to message. "update(%hash)" Changes the message. See "FTN::Msg::new" for parameters allowed. "make_msgid([$msgid])" Generates @MSGID, sets it inside the message and and returns it. Possible parameter is only second part of @MSGID, without source address. If omitted all @MSGID parts will be auto-generated. Auto-generation method use *unixtime* as basis, so don't allow more than one process to generate @MSGIDs in the same time. "as_string()" Returns string representation of message. For debugging. FTN::Pkt methods "new(%hash)" A constructor. Some initialization parameters can be passed via %hash. Possible ones are: "fromaddr toaddr password inbound" "update(%hash)" Changes the message. See "FTN::Pkt::new" for parameters allowed. "add_msg($msg)" Adds a message to the packet. $msg must be a reference to "FTN::Msg" object. "write_pkt()" Writes the packet to a disk into "inbound" directory. Filename is auto-generated. Don't allow more than one process to write at the same time. Returns resulting filename. LIMITATIONS CP866 codepage is hardcoded. REQUIREMENTS FTN::OS_features module required. Supported platforms: UNIX and Win32 have been tested. All others may work or not. COPYRIGHT Copyright 2008 Dmitry V. Kolvakh This library is free software. You may copy or redistribute it under the same terms as Perl itself. AUTHOR Dmitry V. Kolvakh aka Keu 2:5054/89@FIDOnet