🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.perl
Article #293

Re: poczta 25

#293
From: Piotr Piatkowski
Date: Tue, 03 Jun 1997 15:38
70 lines
2902 bytes
Grzegorz Szyszlo <znik@avalon.wbc.lublin.pl> wrote:
: >A nie wystarczy Ci:
: >
: >open( SM, "|/usr/sbin/sendmail $to_email" )

: dzieki :) fajne to, proste i latwe. ale mi chodzilo o
: bezposrednie operowanie na konekcji TCP .

Skoro nalegasz... Możesz to zrobić na "niskim poziomie", za pomocą 
modułu Socket (perldoc Socket):

use Socket;

$proto = getprotobyname('tcp');
socket(SOCK, PF_INET, SOCK_STREAM, $proto);
$sin = sockaddr_in(25,inet_aton("localhost"));
connect(SOCK,$sin);
print SOCK "HELO fasola.org\r\n";
print SOCK "MAIL FROM: jasio@fasola.org\r\n";
print SOCK "RCPT TO: grzesio@malinki.com\r\n";
print SOCK "DATA\r\n";
print SOCK ...
print SOCK ".\r\n";
close SOCK;


Możesz to zrobić trochę prościej, łatwiej i przyjemniej za pomocą 
modułu IO::Socket (perldoc IO/Socket):

use IO::Socket;

$sock = IO::Socket::INET->new( PeerAddr => "localhost",
                               PeerPort => 25,
                               Proto    => 'tcp' );
print $sock "HELO fasola.org\r\n";
print $sock "MAIL FROM: jasio@fasola.org\r\n";
print $sock "RCPT TO: grzesio@malinki.com\r\n";
print $sock "DATA\r\n";
print $sock ...
print $sock ".\r\n";
close $sock;


Możesz wreszcie ściągnąć sobie ftp://ftp.pk.edu.pl/pub/lang/perl/CPAN
/modules/by-module/Net/libnet-1.0505.tar.gz, zainstalować przez 
tradycyjne perl Makefile.PL;make;make test;make install (ściągnąć i 
zainstalować można też za pomocą modułu CPAN, którego jednak nie znam
na tyle żeby Ci wytłumaczyć jak to zrobić :-) ), a potem zrobić to 
*jeszcze* prościej (oczywiście perldoc Net/SMTP):

use Net::SMTP;

$smtp = Net::SMTP->new('localhost');
$smtp->mail("jasio@fasola.org");
$smtp->to("grzesio@malinki.com");
$smtp->data;
$smtp->datasend( ... );
$smtp->quit;


We wszystkich przykładach ... oznacza treść listu, ze wszystkimi 
należnymi nagłówkami!

No. Jak tak dalej pójdzie, to dorobimy się własnych FMTEYEWTK (patrz: 
ftp://ftp.pk.edu.pl/pub/lang/perl/CPAN/doc/FMTEYEWTK/index.html )

Albo raczej ZWNWCKCWNT (ciekawe kto to rozszyfruje) :-)

-- 
Piotr Piątkowski, Uczelniane Centrum Informatyki, AGH Krakow, POLAND
Technical Details
Message-ID: <5n1dq6$mjc$1@galaxy.uci.agh.edu.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!ict.pwr.wroc.pl!agh.edu.pl!agh.edu.pl!not-for-mail
References: <5mosua$55l$16@helios.man.lublin.pl> <5mrugl$n51$1@galaxy.uci.agh.edu.pl> <5mujte$24f$1@helios.man.lublin.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!ict.pwr.wroc.pl!agh.edu.pl!agh.edu.pl!not-for-mail
From: kompas@galaxy.uci.agh.edu.pl (Piotr Piatkowski)
Newsgroups: pl.comp.lang.perl
Subject: Re: poczta 25
Date: 3 Jun 1997 17:38:46 +0200
Organization: University of Mining & Metallurgy
Lines: 70
Message-ID: <5n1dq6$mjc$1@galaxy.uci.agh.edu.pl>
References: <5mosua$55l$16@helios.man.lublin.pl> <5mrugl$n51$1@galaxy.uci.agh.edu.pl> <5mujte$24f$1@helios.man.lublin.pl>
NNTP-Posting-Host: galaxy.uci.agh.edu.pl
Mime-Version: 1.0
X-Newsreader: TIN [UNIX 1.3 unoff BETA 970307; sun4m SunOS 5.5.1]
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit