HELO hostname #### #!/usr/bin/perl use IO::Socket; $socket=IO::Socket::INET->new(PeerAddr => "mail.your.net", PeerPort => "25", Proto => "tcp" ) or die "MAIL: $!"; print $socket "HELO your_hostname\r\n"; print $socket "MAIL FROM: \r\n"; print $socket "RCPT TO: \r\n"; print $socket "DATA\r\n"; print $socket "From: \r\n"; print $socket "To: \r\n"; print $socket "Subject: My automatic message\r\n"; print $socket "\r\n"; print $socket "Your data here\r\n"; print $socket ".", "\r\n"; print $socket "QUIT", "\r\n"; #### #!/usr/bin/perl use IO::Socket; $socket=IO::Socket::INET->new(PeerAddr => "mail.your.net", PeerPort => "25", Proto => "tcp" ) or die "MAIL: $!"; my $line = 'No line'; die "Error in greeting: $line" unless ($line = scalar <$socket>) =~ /^2/; print $socket "HELO your_hostname\r\n"; die "Error in HELO: $line" unless ($line = scalar <$socket>) =~ /^2/; print $socket "MAIL FROM: \r\n"; die "Error in MAIL FROM: $line" unless ($line = scalar <$socket>) =~ /^2/; print $socket "RCPT TO: \r\n"; die "Error in RCPT TO: $line" unless ($line = scalar <$socket>) =~ /^2/; print $socket "DATA\r\n"; die "Error in DATA: $line" unless ($line = scalar <$socket>) =~ /^3/; print $socket "From: \r\n"; print $socket "To: \r\n"; print $socket "Subject: My automatic message\r\n"; print $socket "\r\n"; print $socket "Your data here\r\n"; print $socket ".", "\r\n"; die "Error in DOT: $line" unless ($line = scalar <$socket>) =~ /^2/; print $socket "QUIT", "\r\n"; die "Error in QUIT: $line" unless ($line = scalar <$socket>) =~ /^2/;