Jump to content
abcdef

turn on debug below perl code

Recommended Posts

How to turn on debug in function sendSMTP ??What is the fucntion of ar $debug ???

#!/usr/bin/perl -wuse Socket;use strict;my($mailTo)	 = 'chuikingman@yahoo.com.hk';my($mailServer) = 'mail.hgcbroadband.com';my($mailFrom)   = 'medined@mtolive.com';my($realName)   = "chuikingman";my($subject)	= 'Test send_mail';my($body)	   = "Test Line One.\nTest Line Two.\n";$main::SIG{'INT'} = 'closeSocket';my($proto)	  = getprotobyname("tcp")		|| 6;my($port)	   = getservbyname("SMTP", "tcp") || 25;my($serverAddr) = (gethostbyname($mailServer))[4];die('gethostbyname failed.') unless (defined($serverAddr));socket(SMTP, AF_INET(), SOCK_STREAM(), $proto)	or die("socket: $!"); my $packFormat;$packFormat = 'S n a4 x8';   # Windows 95, SunOs 4.1+#$packFormat = 'S n c4 x8';   # SunOs 5.4+ (Solaris 2)connect(SMTP, pack($packFormat, AF_INET(), $port, $serverAddr))	or die("connect: $!");select(SMTP); $| = 1; select(STDOUT);	# use unbuffered i/o.{	my($inpBuf) = '';	recv(SMTP, $inpBuf, 200, 0);	recv(SMTP, $inpBuf, 200, 0);}my $debug = 1;sendSMTP(1, "HELO\n");sendSMTP(1, "MAIL From: <$mailFrom>\n");sendSMTP(1, "RCPT To: <$mailTo>\n");sendSMTP(1, "DATA\n");send(SMTP, "From: $realName\n", 0);send(SMTP, "Subject: $subject\n", 0);send(SMTP, $body, 0);sendSMTP(1, "\r\n.\r\n");sendSMTP(1, "QUIT\n");close(SMTP);sub closeSocket {	 # close smtp socket on error	close(SMTP);	die("SMTP socket closed due to SIGINT\n");}sub sendSMTP {	my($debug)  = shift;	#my($debug)  = 1;	my($buffer) = @_;	print STDERR ("> $buffer") if $debug;	send(SMTP, $buffer, 0);	recv(SMTP, $buffer, 200, 0);	print STDERR ("< $buffer") if $debug;	return( (split(/ /, $buffer))[0] );}

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×