- NSIS Discussion
- connect to SMTP port on remote name/ip, return 1 or 0
Archive: connect to SMTP port on remote name/ip, return 1 or 0
shaunb
26th May 2006 10:50 UTC
connect to SMTP port on remote name/ip, return 1 or 0
I've read and searched the forums, and online, I can't seem to find a simple enough win32 command line port scanning tool, that I could nsexec and get the output to see if port 25 is open on the remote mailserver (I need to verify a user entered SMTP mailserver ip/name)
I've tried the following function to no avail, it just returns -1
http://forums.winamp.com/showthread....highlight=smtp
any help would be useful, thanks
Afrow UK
26th May 2006 11:29 UTC
This might help you:
http://faq.siteground.com/faq/email_port25.htm
-Stu
shaunb
26th May 2006 11:33 UTC
hm, I was just playing about with windows telnet just now hehe, I guess I could exec to stack and then check the result, but hmm, each mailserver responds with a slightly different welcome string.
pinging it wouldnt suffice as it might be firewalled or whatever. blarg
OldGrumpy
28th May 2006 13:25 UTC
You don't have to check for the server reply, just for "connect failed" from telnet... :)
Afrow UK
28th May 2006 18:10 UTC
Good idea lol
-Stu
nandhp
28th May 2006 20:56 UTC
Telnet is a Win32 GUI application in 95/98/ME/NT so this approach won't work on those versions. If you need something more reliable, you might want to look for a better solution.
OldGrumpy
29th May 2006 21:35 UTC
nandhp, I wasn't exactly serious, I was just pointing out a slightly faulty logical chain ;) Of course it would be better to just write a plugin that uses the winsock interface ot connect to a specified server and port :)
shaunb
30th May 2006 09:03 UTC
hmm, not really time to write my own plugin, if I had to write anything it'd be a custom console application that did the socket task. hmm
shaunb
30th May 2006 10:15 UTC
Looks like I've come up with a workable solution
using portqry.exe (version 2, available from MS's site)
firstly I nsexec a batch file that wraps the portquery.exe and provides one parameter %1 , to pass in the $CFMAILSERVER (I require to verify a coldfusion server default mailserver), anyway , using the errorlevel function of dos I can then check the exit code of portqry, and output either success or failed to my 'results file' on c:\, which I then use NSIS to read, chop a couple of bytes off the end, and use to check if the mail server verified ok!
my code is attached as its too long
edit: actually I can't find where to attach it so if anyone wants the code just send me a private message! doh!
:) I hope it'll help anyone else trying to do the same task.
The end results work quite well
(for reference)
http://www.petri.co.il/quickly_find_...open_ports.htm