#!/usr/bin/perl

#
# taty.pl
# A simple script for sending e-mails via HTTP proxy servers
#
# usage: taty.pl < message.txt
# message.txt file contains message to send
#
#
# Alexander Yurchenko <grange@rt.mipt.ru>
# 


use IO::Socket;

$proxyhost  = 'proxy.com';
$proxyport  = '8080';
$smtpserver = 'smtp.com';
$sender     = '<myself@hotmail.com>';
$recipient  = '<myfriend@hotmail.com>';

local $/ = undef;
$message = <>;

$smtpdata  = "HELO $proxyhost\n";
$smtpdata .= "MAIL FROM: $sender\n";
$smtpdata .= "RCPT TO: $recipient\n";
$smtpdata .= "DATA\n";
$smtpdata .= "$message\n.\n";
$smtpdata .= "QUIT\n";

$request   = "POST http://$smtpserver:25/ HTTP/1.0\n";
$request  .= "Host: $smtpserver\n";
$request  .= "Content-type: application/x-www-form-urlencoded\n";
$request  .= "Content-length: ".length($smtpdata)."\n\n";
$request  .= "$smtpdata";

$socket = IO::Socket::INET->new(PeerAddr => $proxyhost,
				PeerPort => $proxyport,
				Proto	 => 'tcp',
				Type	 => SOCK_STREAM)
    or die "could not connect to $proxyhost:$proxyport : $!\n";
    
print $socket $request;
$answer = <$socket>;
close($socket);
print "SMTP session log:\n\n$answer";
