Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Invio E-mail

  1. #1

    Invio E-mail

    ciao a tutti,
    premettendo che sono un novellino nella programmazione in perl,
    sto cercando di capire come inviare e-mail con uno script perl.
    Seguendo gli esempi nella documentazione di Net::SMTP
    ho un errore che non riesco a risolvere.

    ecco il codice:
    #!/usr/local/bin/perl

    use Net::SMTP;
    $smtp = Net::SMTP->new('smtp.tiscali.it');
    $smtp->mail($ENV{USER});
    $smtp->to('xxxxxxx@tiscali.it');

    $smtp->data();
    $smtp->datasend("mesaggio di prova");
    $smtp->dataend();
    $smtp->quit()

    l'errore:
    "Can't call method "mail" on an undefined value at invio_email.pl line 5"

    Qualcuno sa dirmi il perchè di questo?
    Ho installato il modulo Net::SMTP, ma serve qualcos'altro, web-server ecc..

    Qualcuno potrebbe guidarmi?

    Grazie!!!!



  2. #2
    Ciao,

    devi accertarti che i valori di $smtp e $ENV{'USER'} siano presenti per cui prova:

    #!/usr/local/bin/perl

    use Net::SMTP;
    $smtp = Net::SMTP->new('smtp.tiscali.it');
    print "smtp: $smtp\n";
    print "User: $ENV{'USER'}\n";
    $smtp->mail($ENV{'USER'});
    $smtp->to('xxxxxxx@tiscali.it');

    $smtp->data();
    $smtp->datasend("mesaggio di prova");
    $smtp->dataend();
    $smtp->quit()

    guarda cosa risponde. Per il primo dovrebbe restituirti un indirizzo di memoria tipo "0x12345678" per il secondo una stringa.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  3. #3
    grazie,
    ti faro' sapere

  4. #4
    ciao shishii
    purtroppo mi da questo errore:

    smtp:
    User: xxxxxx
    Can't call method "mail" on an undefined value at invio_email.pl line 7.

    codice:

    #!/usr/local/bin/perl

    use Net::SMTP;
    $smtp = Net::SMTP->new('smtp.tiscali.it');
    print "smtp: $smtp\n";
    print "User: $ENV{'USER'}\n";
    $smtp->mail($ENV{'USER'});
    $smtp->to('xxxxxxxxxxx@tiscali.it');

    $smtp->data();
    $smtp->datasend("mesaggio di prova");
    $smtp->dataend();
    $smtp->quit()

    soluzioni??

    grazie
    ciao

  5. #5
    volevo specificare:

    User: cognome

    indirizzo e-mail: nomeecognome

    puo' dipendere da questo?

    io credo di no.

  6. #6
    ma la linea con cui fai i test a che provider corrisponde?

    se non è tiscali allora succede che il server ti rifiuta la connessione e quindi non crei $smtp.

    Prova:

    $smtp = Net::SMTP->new(
    Host => 'smtp.tiscali.it',
    Hello => $ENV{'USER'},
    Timeout => 30,
    Debug => 1,
    );

    al posto di

    $smtp = Net::SMTP->new('smtp.tiscali.it');

    dovrebbe dirti qualcosa in più.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  7. #7
    ciao,
    purtroppo non cambia niente, non mi dice niente di nuovo.

    Non l'ho detto prima, ma sto programmando su Linux, Fedora 5.
    Spero non c'entri questo, e magari devo fare le cose in maniera diversa.

    AIUTOOOOOOOOOOOOOOO

  8. #8
    ho fatto le prove necessarie tramite:

    codice:
    use Net::SMTP;
    
    $smtp = Net::SMTP->new(
                               Host => 'mail.inwind.it',
                               Hello => 'shishii',
                               Timeout => 30,
                               Debug   => 1,
                              );
    $smtp->mail('xxxxx@inwind.it');
    $smtp->to('xxxxxx@tiscalinet.it');
    
    $smtp->data();
    $smtp->datasend("messaggio di prova");
    $smtp->dataend();
    $smtp->quit();
    exit;
    ed ha funzionato perfettamente.

    Quindi come pensavo il problema è nel fatto che il server di tiscali ti rifiuta la connessione. Prova con il server del provider che ti da la linea.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  9. #9
    ho provato e non va, ma ora che ci penso, siccome sono a lavoro e sono connesso tramite proxi, non è che è quest'ultimo che rompe le scatole?

    altrimenti non mi spiego perchè non va.
    devo provare da casa.

    Oppure c'è qualcosa sul mio Linux che non è configurato e io non lo so.



    grazie shishii
    ti faro' sapere al piu' presto

    ciao

  10. #10
    sicuramente il proxy influisce.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.