Description
#!/usr/bin/perl use Socket;
$smtp_server = 'smtpservername'; @toliste = ('user2@test.com','user2@test.com'); $from = 'test@test.com'; $subject = "testsubject"; $body = "testbody"; if ($#toliste!="") { foreach $recipient (@toliste) { print "Send to: ".$recipient."\n"; send_mail ($from, $recipient, $subject, $body); } } sub send_mail {
my ( $from , $to , $subject , $body ) = @_;
$body =~ s/\n\.[\r|\n]/\n. $1/g; my $proto = getprotobyname('tcp'); socket(SERVER, AF_INET, SOCK_STREAM, $proto); my $iaddr = gethostbyname($smtp_server); my $port = getservbyname('smtp', 'tcp'); my $sin = sockaddr_in($port, $iaddr); my $sreply;
connect(SERVER, $sin); recv SERVER, $sreply, 512, 0; send SERVER, "HELO $smtp_server\r\n", 0; recv SERVER, $sreply, 512, 0; send SERVER, "MAIL From:<$from>\r\n", 0; recv SERVER, $sreply, 512, 0; send SERVER, "RCPT To:<$to>\r\n", 0; recv SERVER, $sreply, 512, 0; send SERVER, "DATA\r\n", 0; recv SERVER, $sreply, 512, 0; send SERVER, "Subject: $subject\r\n", 0; send SERVER, "\r\n$body\r\n", 0; send SERVER, ".\r\n", 0; recv SERVER, $sreply, 512, 0; send SERVER, "QUIT\r\n", 0; recv SERVER, $sreply, 512, 0; close SERVER; }
|