Article View: pl.comp.lang.perl
Article #293Re: poczta 25
From: Piotr Piatkowski
Date: Tue, 03 Jun 1997 15:38
Date: Tue, 03 Jun 1997 15:38
70 lines
2902 bytes
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-mailReferences:
<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