🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.perl
11 messages
11 total messages Started by Grzegorz Szyszlo Sat, 31 May 1997 10:01
poczta 25
#290
Author: Grzegorz Szyszlo
Date: Sat, 31 May 1997 10:01
16 lines
1328 bytes
czy ktos ma, lub wie gdzie w sieci jest skrypcik w perlu,
ktory bezposredno laczy sie na port 25 wskazanego serwera i sam
bezposredno wysyla list ?
bo jesli nie ma, to co najwyzej zmarnuje 2 dni na napisanie czegos
takiego i wytestowanie. ale wolalbym gotowca.

to na razie, z gory dzieki :) choc na razie nie wiem za co :))))

ps: pewnie spytacie po co mi to ? odpowiadam. do zrobienia bramki mailowej.

-- 
               oOOo     /====================================\
         /=====\__/====/  http://avalon.wbc.lublin.pl/~znik/ |
         | Grzegorz Szyszlo mailto:znik@avalon.wbc.lublin.pl |
         \===================================================/
          polecam  http://www.agh.edu.pl/ogonki/   mime.html
Re: poczta 25
#291
Author: Piotr Piatkowski
Date: Sun, 01 Jun 1997 13:47
19 lines
1163 bytes
Grzegorz Szyszlo <znik@avalon.wbc.lublin.pl> wrote:
: czy ktos ma, lub wie gdzie w sieci jest skrypcik w perlu,
: ktory bezposredno laczy sie na port 25 wskazanego serwera i sam
: bezposredno wysyla list ?

A nie wystarczy Ci:

open( SM, "|/usr/sbin/sendmail $to_email" )
print SM "From: znik@avalon.wbc.lublin.pl\n";
print SM "To: jasio@fasola.org\n";
print SM "Subject: Blablabla\n";
print SM "\n";
print SM "A tutaj reszta...\n";
close SM

?

-- 
Piotr Piątkowski, Uczelniane Centrum Informatyki, AGH Krakow, POLAND
Re: poczta 25
#292
Author: Grzegorz Szyszlo
Date: Mon, 02 Jun 1997 14:04
29 lines
1691 bytes
kompas@galaxy.uci.agh.edu.pl (Piotr Piatkowski) wrote:
>Grzegorz Szyszlo <znik@avalon.wbc.lublin.pl> wrote:
>: czy ktos ma, lub wie gdzie w sieci jest skrypcik w perlu,
>: ktory bezposredno laczy sie na port 25 wskazanego serwera i sam
>: bezposredno wysyla list ?
>
>A nie wystarczy Ci:
>
>open( SM, "|/usr/sbin/sendmail $to_email" )
>print SM "From: znik@avalon.wbc.lublin.pl\n";
>print SM "To: jasio@fasola.org\n";
>print SM "Subject: Blablabla\n";
>print SM "\n";
>print SM "A tutaj reszta...\n";
>close SM
>
>?

>Piotr Pi±tkowski, Uczelniane Centrum Informatyki, AGH Krakow, POLAND

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

-- 
               oOOo     /====================================\
         /=====\__/====/  http://avalon.wbc.lublin.pl/~znik/ |
         | Grzegorz Szyszlo mailto:znik@avalon.wbc.lublin.pl |
         \===================================================/
          polecam  http://www.agh.edu.pl/ogonki/   mime.html
Re: poczta 25
#293
Author: 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
Re: poczta 25
#297
Author: Marcin Sperka
Date: Wed, 04 Jun 1997 09:01
20 lines
1056 bytes
> A nie wystarczy Ci:
> 
> open( SM, "|/usr/sbin/sendmail $to_email" )
> print SM "From: znik@avalon.wbc.lublin.pl\n";
> print SM "To: jasio@fasola.org\n";
> print SM "Subject: Blablabla\n";
> print SM "\n";
> print SM "A tutaj reszta...\n";
> close SM
> 
> ?
A gdy to chodzi np. na NT, to co wtedy? Tam nie ma czegos takiego jak
Sendmail.

-- 
Marcin Sperka
KAMSOFT
Katowice
POLAND
mailto:marcins@kamsoft.com.pl
Re: poczta 25
#294
Author: Grzegorz Szyszlo
Date: Wed, 04 Jun 1997 09:31
23 lines
1393 bytes
kompas@galaxy.uci.agh.edu.pl (Piotr Piatkowski) wrote:

>use Socket;
[ciach]

>use IO::Socket;
[ciach]

>use Net::SMTP;

[ciach]

>Piotr Pi±tkowski, Uczelniane Centrum Informatyki, AGH Krakow, POLAND

dzieki wodzu, wlasnie takiej odpowiedzi oczekiwalem :))))

ps: pewnie juz sie domyslasz po co mi to potrzebne :)
-- 
               oOOo     /====================================\
         /=====\__/====/  http://avalon.wbc.lublin.pl/~znik/ |
         | Grzegorz Szyszlo mailto:znik@avalon.wbc.lublin.pl |
         \===================================================/
          polecam  http://www.agh.edu.pl/ogonki/   mime.html
Re: poczta 25
#295
Author: Piotr Piatkowski
Date: Wed, 04 Jun 1997 11:50
16 lines
1332 bytes
Grzegorz Szyszlo <znik@avalon.wbc.lublin.pl> wrote:
: kompas@galaxy.uci.agh.edu.pl (Piotr Piatkowski) wrote:

: >use Socket;
: >use IO::Socket;
: >use Net::SMTP;

: dzieki wodzu, wlasnie takiej odpowiedzi oczekiwalem :))))
: ps: pewnie juz sie domyslasz po co mi to potrzebne :)

Pewnie chcesz zrobić bramki news2mail w perlu (co nie działa zbyt 
dobrze jak się sam przekonałem) albo zrobić listserver (co pewnie też
będzie działać marnie...)

-- 
Piotr Piątkowski, Uczelniane Centrum Informatyki, AGH Krakow, POLAND
Re: poczta 25
#296
Author: Grzegorz Szyszlo
Date: Wed, 04 Jun 1997 14:07
28 lines
2054 bytes
kompas@galaxy.uci.agh.edu.pl (Piotr Piatkowski) wrote:

>Pewnie chcesz zrobiæ bramki news2mail w perlu (co nie dzia³a zbyt 
>dobrze jak siê sam przekona³em) albo zrobiæ listserver (co pewnie te¿
>bêdzie dzia³aæ marnie...)

>Piotr Pi±tkowski, Uczelniane Centrum Informatyki, AGH Krakow, POLAND

Jedno i drugie. przegladalem kod tych ktore mi podeslales, i sie
z lekka zajerzylem jakim cudem to mialo dzialac :)
bede klecil takie bramki, zebym mogl je posadzic na zupelnie
innym hoscie, niz te na ktorych znajduje sie lista mailowa
i grupa newsowa.

sprawe maila mam juz praktycznie zalatwiona. a to wyszukiwanie
bylo mi potrzebne do calkowitego rozbicia naglowka listu
do zmiennej typu % a nie @, dzieki czemu uzyskuje b.latwy
dostep do poszczegolnych pol.

jeszcze tylko musze poszukac, jak wlasciwie wyglada sprawa
nadawania i odbierania listow z NNTP po stronie zwyklego klienta.

-- 
               oOOo     /====================================\
         /=====\__/====/  http://avalon.wbc.lublin.pl/~znik/ |
         | Grzegorz Szyszlo mailto:znik@avalon.wbc.lublin.pl |
         \===================================================/
          polecam  http://www.agh.edu.pl/ogonki/   mime.html
Re: poczta 25
#298
Author: Grzegorz Szyszlo
Date: Wed, 04 Jun 1997 17:27
22 lines
1443 bytes
Marcin Sperka <marcins@kamsoft.com.pl> wrote:
>> open( SM, "|/usr/sbin/sendmail $to_email" )
>> print SM "From: znik@avalon.wbc.lublin.pl\n";
>> print SM "To: jasio@fasola.org\n";
>> print SM "Subject: Blablabla\n";
>> print SM "\n";
>> print SM "A tutaj reszta...\n";
>> close SM

>A gdy to chodzi np. na NT, to co wtedy? Tam nie ma czegos takiego jak
>Sendmail.

>Marcin Sperka

jest tez wersja sendmaila na enteka.

-- 
               oOOo     /====================================\
         /=====\__/====/  http://avalon.wbc.lublin.pl/~znik/ |
         | Grzegorz Szyszlo mailto:znik@avalon.wbc.lublin.pl |
         \===================================================/
          polecam  http://www.agh.edu.pl/ogonki/   mime.html
Re: poczta 25
#299
Author: Piotr Piatkowski
Date: Wed, 04 Jun 1997 18:04
11 lines
1035 bytes
Marcin Sperka <marcins@kamsoft.com.pl> wrote:
: > A nie wystarczy Ci:
: > 
: > open( SM, "|/usr/sbin/sendmail $to_email" )
: A gdy to chodzi np. na NT, to co wtedy? Tam nie ma czegos takiego jak
: Sendmail.

A to już trzeba zgłosić do Micro$oftu :->

-- 
Piotr Piątkowski, Uczelniane Centrum Informatyki, AGH Krakow, POLAND
Re: poczta 25
#300
Author: Jerzy Kedra
Date: Thu, 05 Jun 1997 16:22
42 lines
1590 bytes
Grzegorz Szyszlo <znik@avalon.wbc.lublin.pl> wrote:

> czy ktos ma, lub wie gdzie w sieci jest skrypcik w perlu,
> ktory bezposredno laczy sie na port 25 wskazanego serwera i sam
> bezposredno wysyla list ?

Spróbuj coś takiego:
#!/usr/bin/perl
#
use Socket;
use FileHandle;

# funkcja do otwierania socketa
#
sub opensocket {
  my($remote,$port,$iaddr,$paddr,$proto);
  $remote  = 'localhost';
  $port    = 25;  # sendmail
  if ($port =~ /\D/) { $port = getservbyname($port, 'tcp') }
  die "No port" unless $port;
  $iaddr   = inet_aton($remote) || die "no host: $remote" ;
  $paddr   = sockaddr_in($port, $iaddr);
  $proto   = getprotobyname('tcp');
  socket(SOCK, PF_INET, SOCK_STREAM, $proto) || die "socket: $!";
  connect(SOCK, $paddr) || die "connect: $!";
  SOCK->autoflush(1);
  <SOCK>;
}

# zamknij powyższy socket
#
sub closesocket {
  print SOCK "quit\n";
  close (SOCK) || die "close: $!";
}


&opensocket();
# [...]
# tutaj sobie wstaw jakieś operacje na sockecie
# [...]
&closesocket();
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads