Strona 1 z 2 12 OstatniOstatni
Pokaż wyniki 1 do 10 z 11

Temat: Perl - Wysyłanie obecnego ip mailem

  1. #1
    Zarejestrowany
    Jan 2009
    Postów
    4

    Domyślnie Perl - Wysyłanie obecnego ip mailem

    hejka

    Chciałbym mieć możliwość zdalnego logowania się na kompa. Niestety mam zmienne ip. W związku z tym chciałbym stworzyć programik który będzie wysyłał mailem obecne ip przypisane do komputera. Moja wiedza jest jeszcze zbyt mała, żebym napisał to bez problemu :-( Nie wiem jak wyciągnąć adres ip.


    Pozdrawiam

  2. #2
    Avatar GSG-9
    GSG-9 jest offline Shapeshifter
    Zarejestrowany
    Jul 2007
    Skąd
    C:\Perl\bin
    Postów
    1,578

    Domyślnie

    ipconfig >> plik.txt
    ftp bla bla
    put plik.txt

    tak chyba najlatwiej, co?

    //ah perl lol, nie zauwazylem
    Ostatnio edytowane przez GSG-9 : 01-15-2009 - 15:31
    War, war never changes.

  3. #3
    Zarejestrowany
    Jan 2009
    Postów
    4

    Domyślnie

    Udało mi się znaleźć 2 skrypty niestety nie mogę ich rozkminić (z tego pierwszego nie rozumiem drugiej części, a tego drugiego w ogóle nie rozumiem :-( )

    1 skrypt:
    Kod:
    $interface="ppp0";
    $ifconfig="/sbin/ifconfig";
    @lines=qx|$ifconfig $interface| or die("Can't get info from ifconfig: ".$!);
    foreach(@lines){
            if(/inet addr:([\d.]+)/){
                    print "$1\n";
            }
    }
    2 skrypt:
    Kod:
    ifconfig -a | perl -ne 'if ( m/^\s*inet (?:addr:)?([\d.]+).*?cast/ ) { print qq($1\n); exit 0; }'

  4. #4
    Avatar GSG-9
    GSG-9 jest offline Shapeshifter
    Zarejestrowany
    Jul 2007
    Skąd
    C:\Perl\bin
    Postów
    1,578

    Domyślnie

    co one maja do tematu?
    War, war never changes.

  5. #5
    Zarejestrowany
    Jan 2009
    Postów
    216

    Domyślnie

    a nie prosciej ping+czyszczenie bufora dns?

  6. #6
    Zarejestrowany
    Jan 2009
    Skąd
    /tmp
    Postów
    30

    Domyślnie

    Nie wiem czy zalezy Ci na tym, zeby to bylo w Perlu czy na tym zeby w ogole sie zalogowac, jesli na tym drugim to nie ma sensu wymyslac kola na nowo, skorzystaj z tego :

    https://secure.logmein.com/home.asp?hp=4

    Pozdro.
    " Wszystko, co ma początek, ma też koniec. Widzę nadchodzący koniec. Widzę rozciągającą się ciemność. Widzę śmierć ."

  7. #7
    Zarejestrowany
    Jan 2009
    Postów
    4

    Domyślnie

    Cytat Napisał GSG-9 Zobacz post
    co one maja do tematu?
    to, że chcę pobrać adres ip i potem wysłać go sendmailem. Ten pierwszy skrypcik pobiera adres z interface'u ppo0 (czyli w wielkim uproszczeniu możemy nazwać to neostradą) ale nie rozumiem co sie dzieje dalej.

    Ogólnie chodzi o to:

    Wydajesz polecenie:
    Kod:
    ifconfig -a
    a linuch wypluwa:
    Kod:
    Link encap:Ethernet  HWaddr 00:06:4F:00:72:AD
    inet addr:82.15.207.52  Bcast:82.15.207.53  Mask:255.255.255.248
    UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
    RX packets:2396352 errors:0 dropped:0 overruns:0 frame:0
    TX packets:2786785 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:1422520588 (1.3 GiB)  TX bytes:1495937263 (1.3 GiB)
    Interrupt:12 Base address:0xc000
    I ja chcę to co jest po int addr: żeby wysyłało mi na maila. Tylko nie wiem jak owo "to" wyciągnąć

  8. #8
    Zarejestrowany
    Jan 2009
    Skąd
    /tmp
    Postów
    30

    Domyślnie

    Sprawdz takie wywolanie na swoim interfejsie sieciowym :
    Kod:
      ifconfig wlan0 | grep 'inet addr:' | awk '{ print $2 }' | cut -d: -f2
    Pozdro.
    " Wszystko, co ma początek, ma też koniec. Widzę nadchodzący koniec. Widzę rozciągającą się ciemność. Widzę śmierć ."

  9. #9
    Zarejestrowany
    Jan 2009
    Postów
    4

    Domyślnie

    stworzyłem coś takiego:

    Kod:
    ##use lib "$ENV{HOME}/libperl/lib/perl5/site_perl";
    
    use $adres;
    use Mail::Sendmail;
    
    
    $interface="ppp0";
    $ifconfig="/sbin/ifconfig";
    @lines=qx|$ifconfig $interface| or die("Can't get info from ifconfig: ".$!);
    foreach(@lines){
            if(/inet addr:([\d.]+)/){
                    $adres = $1;
    		break;
            }
    }
    
    
    %mail = ( Smtp => 'smtp.wp.pl',
              From => '[email protected]',
              To => '[email protected]',
              Subject => 'Obecny adres ip',
              Message => "obecny adres ip to: $adres"
    	 );
    ##$mail{smtp} = 'smtp.wp.pl';
    
    &sendmail(%mail) or die $Mail::Sendmail::error;

    Niestety nie wysyła :-(

    co mogłem zrobić źle?

  10. #10
    Zarejestrowany
    Nov 2006
    Skąd
    Polska/Poland
    Postów
    1,191

    Domyślnie

    Sprawdziłeś dlaczego?
    Smtp na wp.pl jest openrelay?
    Chyba nie , użyj modułu, który umożliwia autoryzację, np:
    Kod:
    Mail::SendEasy::SMTP
    ***********
    * markossx *
    ***********

Strona 1 z 2 12 OstatniOstatni

Podobne wątki

  1. [Perl] Kurs Perl - cz.1 - wprowadzenie i podstawy
    By TQM in forum Perl/Python/TCL/Prolog
    Odpowiedzi: 22
    Autor: 10-27-2014, 00:50
  2. Odpowiedzi: 18
    Autor: 07-14-2009, 11:55
  3. [php] wysylanie zmiennej mailem
    By GSG-9 in forum PHP/CGI/ASP/JSP/J2EE
    Odpowiedzi: 2
    Autor: 05-22-2008, 10:48
  4. Odpowiedzi: 31
    Autor: 05-20-2008, 17:01
  5. Potrzebuję pomocy z własnym mailem :P
    By Polek in forum Odzyskiwanie haseł
    Odpowiedzi: 12
    Autor: 05-08-2007, 20:18

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj