# !/usr/bin/perl use IO::Socket; my $mail = 'vostra@mail.dominio'; # EDITARE CON UNA MAIL REALMENTE ESISTENTE print STDOUT "\n[+] Numero destinatario: "; chomp(my $num = ); print STDOUT "[+] Nome mittente: "; chomp(my $name = ); print STDOUT "[+] Oggetto: "; chomp(my $subj = ); print STDOUT "\n[+] Testo: "; chomp(my $text = ); $sock = IO::Socket::INET->new( PeerAddr => 'smtp-sms.vodafone.it', PeerPort => '25', Proto => 'tcp' ); die "Could not create socket: $!\n" unless $sock; print STDOUT "\n\n[?] CONNECT..\n"; resp(220) or die(); sleep(2); req ("HELO aa"); resp(250) or die(); req ("MAIL FROM: <${mail}>"); resp(250) or die(); req ("RCPT TO: <${num}\@sms.vodafone.it>"); resp(250) or die(); req ("DATA"); resp(354) or die(); print $sock "From: $name <${mail}>\r\n"; print $sock "Subject: ${subj}\r\n"; print $sock "${text}\r\n"; print $sock ".\r\n"; print STDOUT "[?] DATA SEND..\n"; resp(250) or die(); req ("QUIT"); resp(221); close($sock); sub req() { my $buff = shift; print $sock "${buff}\r\n"; print STDOUT "[?] ${buff}\n"; } sub resp() { my $n = shift; my $resp = <$sock>; print STDOUT "[!] ${resp}\n"; if($resp =~ /^$n/) { return 1; } return undef; }