Solved

Telnet batch file needed

Posted on 2004-03-23
13
57,097 Views
Last Modified: 2013-12-19
i need a batch file that will open a telnet conenction and send an email via an smtp server.  for example i want to send an email to me@mydomain.com via 10.10.10.10 with a short message.  if there is a way to call a seperate text file (like FTP batch files) that holds the body of the email that would be great.
0
Comment
Question by:xxgenius
  • 3
  • 2
  • 2
  • +5
13 Comments
 
LVL 11

Expert Comment

by:nazirahmed
Comment Utility
Hi
try this:

telnet mail.domain.ext 25
MAIL FROM: mail@domain.ext
RCPT TO: mail@otherdomain.ext
DATA
Subject:-type subject here- then press enter twice
(the actual message)
hello mail@otherdomain.ext from mail@domain.ext

QUIT

hope it will help
0
 
LVL 3

Expert Comment

by:wei2ali
Comment Utility
I've tried to create smtp-batch files when making network montoring utilities, but found it cumbersome. Instead, there's a utility called BLAT, which I found useful. Here's the link (http://www.blat.net). It takes a half hour to get familar with the software, but after that, you can't live without it ;)
0
 
LVL 8

Author Comment

by:xxgenius
Comment Utility
nazirahmed, thanks but i already know how to telnet and send a message.  what i need is a batch file that run from a script.

wei2ali, i need this to be executed from a script triggered by sendmail.
0
 
LVL 3

Expert Comment

by:wei2ali
Comment Utility
Here's a piece of code I used in a web-check utility. You don't have to know KiXtart (though you'll definitely gonna love it). The purpose to to show you how to embed/pass parameters to Blat.exe when scripting

Function SendMail($subj, $msg, Optional $ExchangeServer)
      $msg = "_test_"
      $subj = '"Test, ignore please"'
      $Sender = "somebody@@mysite.local"
      $rcp1 = "somebody1@@mysite.local"
      $rcp2 = "somebody2@@mysite.local"      
      $ExchangeServer = "Your_server_NETBIOS_NAME or IP"
      shell '%comspec% /c Blat $msg -f $Sender -t $rcp1,$rcp2 -server $ExchangeServer -s $subj -q'
Endfunction

You can pass parameters to the function from script, or simply get familar with the shel command line swithces of Blat. I'll try to explain this line closer:
      shell '%comspec% /c Blat $msg -f $Sender -t $rcp1,$rcp2,$rcp3 -server $ExchangeServer -s $subj -q'

Let's start with "Blat $msg". I suppose you've got regular messages to send depending on the output of your script, $msg points to the message you want to send, it can be a file or standard output from the script.
   -f: server
   -t: recepient(s)
   -server: self-explanary
   -s: subject (Always needs to be in quotation marks!)
   -q: No error message output

0
 
LVL 11

Expert Comment

by:nazirahmed
Comment Utility
xxgenius
cant you copy code to a script file and run it through batch file.or simply copy the code into a file named yourscript.txt and run
ftp -s:yourscript.txt
0
 
LVL 11

Accepted Solution

by:
nazirahmed earned 500 total points
Comment Utility
sorry xxgenius..i made a mistake when i said "ftp -s:yourscript.txt", you dont need to go through ftp...but through telnet...
normally you cant logon to telnet using a script or batch file.
i think the following link will help you
http://expect.nist.gov
http://bmrc.berkeley.edu/people/chaffee/expectnt.html
another option could be to use some terminal emulation programs, like
http://www.ericom.com/
but i am afraid you cant logon to telnet with a script or batch file.

0
What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

 

Expert Comment

by:gfarnham
Comment Utility
You might try Telnet Scripting Tool
http://www.freewareweb.com/cgi-bin/archive.cgi?ID=645
It is simple and I think does what you are looking for.
0
 

Expert Comment

by:j0ri
Comment Utility
I have almost the same problem as xxgenius.
This is the situation:
I have to test +- 40 servers on mail relay. So my idea was to send a mail through each server with a batch script to myself. My idea was the following:

telnet <server A> 25
HELO jori.knops@gmail.com
MAIL FROM: jori.knops@gmail.com
RCPT TO: jori.knops@gmail.com
DATA: test mail to server A
.
quit

telnet <server B> 25
HELO jori.knops@gmail.com
MAIL FROM: jori.knops@gmail.com
RCPT TO: jori.knops@gmail.com
DATA: test mail to server B
.
quit

This way i know which server relays mail and which server doesn't (if I receive a mail with "test mail to server B" I know that server B relays).

When i follow these steps manualy, it works perfectly but when I try to do this with the script he only logs in to the first server but doesn't give the HELO command (and all the commands after HELO). When I type the rest of the commands manualy (HELO, MAIL FROM, etc) and type quit, the script logs me in on the next server. So he only does the telnet <server A/B> 25 command.

I've allready tried the links that you guys posted, but I can't figure out how those programs work.
0
 

Expert Comment

by:lelton
Comment Utility
I have the same problem. I need to issue an ETRN command to some of our mail servers every half our or so.

telnet mail.domain.com 25
ETRN domain.com

Its very simple, I don't even need to login. But I don't seem to be able to run a telnet command from a batch file, that I could simply schedule.

Any (simple) ideas, this will be running on a server, so I really don't want to add any software to a stable machine.

Les Elton,
Network Admin., ABC Recycling Ltd
0
 

Expert Comment

by:j0ri
Comment Utility
i solved my problem using a combination of blat ( http://www.blat.net/ ) and a batch script.

it basicly looked like this:
script:
blat <mail addresses, server_1 address, etc, etc>
blat <mail addresses, server_2 address, etc, etc>
etc

so if blat knows the command that you want to use, it's easy to solve it.

i'll see if i can upload my script somewhere :)
0
 
LVL 4

Expert Comment

by:rickybsb
Comment Utility
Yes, you can do a telnet script, as simple as ftp scripting.
If you are using *nix, try:
#!/bin/bash
(
echo YOURLOGIN;
sleep 2;
echo YOURPASSWORD;
sleep 1;
echo YOURTELNETCOMMAND1
sleep 1;
echo YOURTELNETCOMMAND2
echo exit
) | telnet 192.168.6.254
0
 

Expert Comment

by:kp397
Comment Utility
Hi.
I'm also looking to execute telnet commands from the wondows batch. if you have any ideas, let me know.
0
 
LVL 4

Expert Comment

by:rickybsb
Comment Utility
On Windows, using Teraterm pro you can easily do telnet command batch scripting

Just fire it up from the CMD:

ttpmacro.exe YOURSCRIPT.TXT

Example of YOURSCRIPT.TXT:

------------------------------------------------
connect '200.1.2.3.4'
UsernamePrompt = 'Login:'
Username = 'admin'
PasswordPrompt = 'Password:'
loginpass = 'YOURPASSWORD'
wait   UsernamePrompt
sendln Username
wait   PasswordPrompt
sendln loginpass
wait '>'
pause 5
sendln 'Yourfirst Telnet Command'
sendln 'Your second telnet command'
sendln 'Any number of telnet commands on each line'
sendln '/'
sendln 'quit'
-------------------------------
0

Featured Post

Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

Many of us in IT utilize a combination of roaming profiles and folder redirection to ensure user information carries over from one workstation to another; in my environment, it was to enable virtualization without needing a separate desktop for each…
Resolve DNS query failed errors for Exchange
This video discusses moving either the default database or any database to a new volume.
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now