home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 27 / CDROM27.iso / share / dos / netmail / netmail.doc next >
Encoding:
Text File  |  1998-08-04  |  18.1 KB  |  569 lines

  1. NETMAIL PRO - Copyright -1998 Net-Tamer, INC. all rights reserved.
  2.  
  3. Direct inquiries to:
  4. Net-Tamer, Inc.
  5. 9989 West Atlantic Blvd.
  6. Coral Springs, FL 33071-6575
  7. Phone: (954) 341-4885
  8. Fax:   (954) 341-0229
  9.  
  10. ----INTRODUCTION-------------------
  11.  
  12. ****NetMail is a stand-alone automated POP3 and SMTP program. *****
  13. It works only with a comm port connection (usually a modem) to a PPP
  14. interface to a TCP-IP network. In other words, it can be instructed
  15. to dial a telephone number, log in to an internet provider, get all
  16. incoming email and optionally delete it. In addition, it can send
  17. email via SMTP. The program has no facilites to read or reply to
  18. email, however. It simply gets and sends. It is expected that users
  19. would have another program for this. There is a fairly extensive
  20. section on the format of outgoing messages. Please read this.
  21.  
  22. This is a demo program. It requires the user to press enter, after
  23. the program starts, before it proceeds with dialing the telephone,
  24. and doing it's business on the internet. It is intended only for
  25. use for 30 days or less, so that someone can determine the program
  26. suits their needs. It is anticiapted that most users of this program
  27. would want it to be called from another program or a TSR timer. If
  28. the press enter was not there, there would be no need to purchase
  29. anything.
  30.  
  31. If you have need of a program like this, then you may purchase it
  32. for $40.00 from Net-Tamer, Inc. (see details in the order.txt file).
  33. The comercial version of this program is identical to this one,
  34. EXCEPT that it has the User's name on it and there is no press enter
  35. to continue pause.  This is accomplished by emailing the user a
  36. registration code and not another copy of the program.
  37.  
  38. We also customize this software to suit corporate and governmental
  39. users and have competively priced licensing arrangements. We do not
  40. customize or make changes to the program for single users.
  41.  
  42. ----RESTRICTIONS ON USE AND DISTRIBUTION-----
  43.  
  44. The files contained in this archive may be reproduced for distribution
  45. on any shareware CD ROM, Diskette or other media, provided that the
  46. files are distributed in the orginal archive and that the purchaser
  47. of that CD ROM, diskette, or other media is not lead to believe that
  48. they have purchased the rights to the program. All right's are retained
  49. by Net-Tamer, Inc. and anyone wishing to purchase the rights to use
  50. this product must do so through the company.
  51.  
  52.  
  53. ----SYSTEM REQUIREMENTS------
  54. netmail.exe should run on any 8088/8086 compatible  PC (including
  55. the orginal IBM PC) with a modem and 120k or so of free memory.
  56. It should run from a floppy, ram drive, and/or hard drive, if
  57. configured correctly. DOS 3.2 or higher, or a system supporting
  58. a "DOS shell" is required. No other software (other than the
  59. OS) is required, but the program may be called by another program
  60. via a "shell and execute" routine, if desired. Embeded systems
  61. usage may require changes in the agent.exe code. Let me know, if
  62. you have a need for this.
  63.  
  64. -------PPP Dial Up Capasity-----------
  65.  
  66. The program assumes dynamic IP addressing, unless you use the
  67. keyword STATIC in a login script (see the section on the script
  68. language.) The program will login to a service which uses
  69. CHAP(the RFC compliant kind) or PAP, without a script.
  70. The program handles all login negotiations.
  71.  
  72.  
  73. ----SETUP - THE NETMAIL.INI FILE---------
  74. You will need the following information:
  75. 1) The telephone number of an internet service provider.
  76. 2) A username and password for that service.
  77. 3)  The URL for a POP3 server and the username and password that
  78. the program is to use for that server. You will also need
  79. a SMTP server url. POP3 and SMTP need not be the same server,
  80. nor do they have to be the server for the ISP on which the program
  81. logged in.
  82. 4) You will need to know your modem comm port.
  83.  
  84. Also read the comments in the sample NEYMAIL.INI file. This goes
  85. into great detail about INI variables and their usage. None of the
  86. Keywords are case sensitive. The file must be in the same directory
  87. from which netmail.exe is involked.
  88.  
  89. SHOWALL=
  90. If given a value this outputs all information sent to the screen - including
  91. the POP3 password. This is intended for debug purposes.
  92.  
  93. DELETEMAIL=
  94. If this has a value of 1, then the program will delete
  95. only old messages. If it has a value of 2 then it will delete ALL messages.
  96. A value of 0 or absense of this setting tells the program not to delete
  97. messages on the server. If the server does not support the last command,
  98. and you have selected 1 as a value, then NO MAIL IS DELETED. Default is 0.
  99.  
  100.  
  101. GETALLMAIL=
  102. If this has a value then the program will get all messages
  103. on the pop3 server, otherwise it will only get new messages, IF THE
  104. SERVER SUPPORTS THE LAST COMMAND, this command was removed in the last
  105. RFC, but is still supported by many servers. If you leave getallmail=0
  106. and the server does not support the last command, then all mail is
  107. retrieved.
  108.  
  109. GMTOFF=
  110. Tells the program what the offset is from GMT (UCT) and the
  111. user's time zone. Eastern Standard Time is +0400. To calculate the
  112. value, you figure out what you have to do to your local time to make
  113. it equal to GMT. +0400 would mean add 4 hours. Notice that this
  114. Is 4 digits, with a Plus or Minus sign in front.
  115.  
  116.  
  117. PORT=
  118. Will accept a number from 1 to 4
  119. or a hex address, irq
  120. irq's 2 to 15 are okay in most circumstamces. Some WIN 95 users,
  121. may have to change IRQ's for the modem in MyCompter, Defaults to 7 or less.
  122.  
  123. BAUD=
  124. Valid 300, 1200, 2400, 4800, 9600, 19200, 38800, 57600, 115200
  125. Most 14.4 modems should be set to 57600 and never below 19200.
  126. Most 28.8 modems will need 115200
  127.  
  128. PHONE1=,PHONE2=,PHONE3=,PHONE4=
  129. Telephone number to call
  130. The # used deterimines dialing order. if a number is busy. Only #1
  131. Is required to be used.
  132.  
  133. SCRIPT1=,SCRIPT2=,SCRIPT3=,SCRIPT4=
  134. The name of a script file to use, if the service does not use CHAP or
  135. PAP user verification. Default is no script. NO PATH is specified. A
  136. script file is assumed to be in the same directory as the exe file.
  137. THE SCRIPT NUMBER MUST MATCH THE TELEPHONE NUMBER, ie. SCRIPT1 is for
  138. NUMBER1, etc.
  139.  
  140. MSGDIR=
  141. The directory for BOTH writing email and checking for outgoing email.
  142. Defaults to the current directory.
  143.  
  144. DIALSTART=
  145. Dialing string start usually ATDT (The default)
  146.  
  147. INIT=
  148. Modem Init String, Usually ATZ will get it.
  149.  
  150. DNS1=,DNS2=
  151. IF a DNS address is NOT given, then the program will attempt to
  152. use IPCP options 129 and 131 (0x81 and 0x83). Not all servers
  153. support these options. If the FTP address is not given and a URL
  154. is used, then DNS1= must be set, OR the service must support the
  155. IPCP options in question. DNS1= is primary. DNS2=is secondary.
  156.  
  157. HANGUP=
  158. Usually ATH0^M, the default. +++ is assumed.
  159.  
  160. GIVEUP=
  161. Most attempts to dial with out terminating. Default is 2000
  162.  
  163. LUSERNAME=
  164. The login username for PPP PAP or CHAP or the script login.
  165.  
  166. LPASSWORD=
  167. Password for PAP or CHAP or the script login.
  168.  
  169. POP3=
  170. The pop3 URL
  171.  
  172. SMTP=
  173. The SMTP URL
  174.  
  175. BINDIR=
  176. Path for uudecoded files. Net-Mail will do an automatic uudecode of
  177. any uuencoded file which is included in a message and send it to this
  178. path. IF THAT FILE NAME ALREADY EXISTS, IT WILL BE OVERWRITTEN. The
  179. default directory is the current working directory.
  180.  
  181.  
  182. ----DEFAULTS--
  183. DialStart=ATDT
  184. GiveUp = 2000
  185. INIT=ATZ
  186. PORT=1
  187. BAUD=19200
  188. HangUp=ATH0
  189.  
  190. ----Out Going Email Format------
  191. The program looks for any file named MAIL*.OUT and assumes that
  192. the ones that it finds are messages to send out. 
  193. The first line in a MAIL*.OUT FILE is always the To: address.
  194. The first line not followed by a /CC or comma is the subject line.
  195. No need to type To: or From: or Subject. The program knows what is what from
  196. position.
  197.  
  198. fred@wildhog.edu,
  199. sally@barnhill.net/CC
  200. chuck@round.ball.org
  201. How about the game?
  202.  
  203. This message would be to both fred and sally with a CC to chuck.
  204. The subject is "How about the game?". Many, if not most messages
  205. will have only a two line header. To: and subject. If you include
  206. MIME information, it should follow the subject line immediately.
  207. There should always be one blank line, after header information,
  208. and before body of the message starts.
  209.  
  210. If Netmail Pro finds the literal text ##INCLUDE= in a line of text,
  211. then it will uuencode and include the file named after the equal sign.
  212. The statement "##INCLUDE=" must be uppercase and must be the only thing
  213. on the line besides the filename. For example:
  214. ##INCLUDE=mypic.gif
  215. would encode the file mypic.gif, which was in the current working directory.
  216. You must use the complete path, if the file is not in the current directory,
  217. for example:
  218. ##INCLUDE=c:\photos\strange\odd.gif
  219.  
  220. More than one file may be named, but on separate line. If the message
  221. is received with netmail pro, then the file(s) will be decoded an placed
  222. in the BINDIR= directory.
  223.  
  224.  
  225. ----Mass E-mail------
  226.  
  227. REGISTERED users may enter a file name in the To: field of a message 
  228. and then type the e-mail message in the normal manner.  If NetMail
  229. finds a file name instead of an address, at the time of upload, then 
  230. it will send multiple copies of the e-mail that follows to everyone 
  231. listed in that file.  There will be ONLY one name per message and 
  232. there is no limit to the number of addresses.  This amounts to a 
  233. "blind carbon copy" for every one in the list. The file must be a
  234. <CR><LF> delimited list of addresses only.  As below:
  235.  
  236. nettamer@nettamer.net
  237. ms.nettamer@mindspring.com
  238. bjones@something.org
  239. president@whitehouse.gov
  240.  
  241. You may make this file with any text editor. There are a couple of "special 
  242. tricks", of course.  If for some reason you want multiple names in 
  243. the To: field, then put a comma after the e-mail address.  Like below:
  244.  
  245. nettamer@nettamer.net,
  246. ms.nettamer@mindspring.com
  247. bjones@something.org,
  248. president@whitehouse.gov
  249.  
  250. This would be sent as two messages, with nettamer@nettamer.net and 
  251. ms.nettamer@mindspring.com getting one copy and bjones@something.org 
  252. and the prez getting the other.  In other words, the names per copy 
  253. stops, when the program no longer finds a comma at the end of the 
  254. address.  If you do wish to let someone know that this is a CC, the 
  255. do it this way:
  256.  
  257.  
  258. nettamer@nettamer.net/CC
  259. ms.nettamer@mci2000.com,
  260. bjones@something.org,
  261. president@whitehouse.gov
  262.  
  263. This would be sent as a single e-mail with nettamer getting the "to:" 
  264. copy and the others listed as CC's.  If you have questions about any 
  265. of this, please drop me a note.  Please do not use this feature to 
  266. "spam" a lot of folks.
  267.  
  268.  
  269.  
  270.  
  271. ------COMMAND LINE SWITCHES-------
  272. /S
  273. Do not send email on this trip, even if messages are found
  274. to send.
  275. /P
  276. Do not GET email on this trip. Send only!
  277.  
  278.  
  279. ----ERROR NUMBERS-----
  280. The program returns the following errors, which can be checked
  281. by a calling program with the standard DOS error return test.
  282.  
  283. 5 Illegal function call. This is a VERY generic error.
  284. Check filenames and numbers for size, etc.
  285.  
  286. 6 Overflow -A number exceeded 2,000,000,000.
  287.  
  288. 7 or 9 Out of memory
  289.  
  290. 11 Division By ZERO.
  291.  
  292. 14 Out of string space (same as 7 or 9)
  293.  
  294. 17 Cannot continue
  295. A Dos error. Leave the program, re-boot and try again.
  296.  
  297. 24 Device time out - Modem, or drive is not working.
  298. 25 Device fault          ""
  299.  
  300. 51 Internal Error
  301. Same as 17.
  302.  
  303. 52 Bad file name
  304. 53 File NOT found
  305. 55 File already open
  306.  
  307. 57 Device I/O error
  308. Same as 24.
  309.  
  310. 58 File already exists
  311. 59 Bad record- Usually a zero byte file.
  312. 61 Disk full - Delete something.
  313. 62 Input past end of file- Same as 59
  314. 63 Bad file number - Duplicate file name given.
  315. 64 Bad file name - Invalid dos file name in INI
  316. 67 To many files- Up the number FILES= in config.sys
  317.  
  318. 68 Device unavailable
  319. see 24
  320.  
  321. 71 Disk NOT ready
  322. 72 Disk media error
  323. 75 File access error
  324. 71-75 are all user drive errors. Run scandisk.
  325.  
  326. 76 Path NOT found.
  327. Invalid path used in the ini file.
  328.  
  329. 100 Netmail.ini file not found.
  330. 101 Neither an SMTP server nor a POP3 server was given in setup.
  331. 102 No login username.
  332. 103 No login Password.
  333. 104 No Telephone Number
  334. 105 Give Up number for dials exceeded.
  335. 106 Aborted by user.
  336. 107 PPP Loop Back. The program is likely to not be using a
  337.     script and one is needed.
  338. 108 The Service provider requested that the program terminate.
  339. 109 Generic PPP error. Most likely an illegal code from the ISP.
  340.  
  341. 110 The Username or Password were rejected in PPP. 
  342. 112 Could Not Open Socket to the POP3 server.
  343. 113 Could Not Open Socket to the SMTP server.
  344.  
  345.  
  346. --------------LOGIN SCRIPT LANGUAGE-----------------------
  347. Please note that this is only how a user can script the "dialer"
  348. part of the program for services with login prompts. In other
  349. words, systems who do not use PAP or CHAP authentication.
  350. There is no need in this language for WAIT CONNECT. The script
  351. only starts after the modem has connected to another modem.
  352. Keep the prompts that the program waits for short. As a general
  353. rule, 4 characters is plenty. So use WAIT word:, instead of
  354. WAIT Password:
  355.  
  356. The dialing scripts use two "macros" these are Password$ and
  357. Username$. These send those pieces of information to
  358. a service. Do not change those words, Net-Tamer knows what
  359. the formation is and keys on this are to do certain things!
  360.  
  361.  Use:
  362.  Blast PUSERNAME$
  363.  Instead of:
  364.  Blast USERNAME$
  365.  
  366.  if your service requires a P in front of your username. Most don't.
  367.  Some services require something AFTER the Username, just edit the
  368.  script this way:
  369.  
  370.  Blast Username$XXX
  371.  
  372.  The program will Replace Username$ with your username, add the
  373.  XXX stuff and a <13>. Do not add <13> to Username$ and Password$
  374.  in a script. The program adds these for you.
  375.  
  376. If you need to include an Ascii control character in a command,
  377. just enter it like this <27>. (That would be the escape character.)
  378. Net-Tamer DOES NOT ALLOW SPACES ON THE RIGHT OR LEFT HAND SIDE OF A
  379. WAIT COMMAND. USE <32> to indicate a space. Spaces in the middle
  380. of a statement are recognized. i.e. <32>NOW IS THE TIME<32> would
  381. check for the text and a space on either side.
  382.  
  383.  Below is a modified script for an access site. Yours may or may not
  384.  function in the same way. This is just a sample.
  385.  
  386.  WAIT gin:-OR-#600
  387.  DELAY 10
  388.  BLAST Username$
  389.  WAIT word:
  390.  DELAY 10
  391.  BLAST Password$
  392.  WAIT ocol:
  393.  DELAY 10
  394.  Blast PPP<13>
  395.  DELAY 10
  396.  PPP
  397.  
  398.  NOTE:
  399.  The last PPP in the file is an internal command to the program to go into
  400.  PPP mode. Nothing in the script file is executed past this point.
  401.  
  402.  
  403. DELAY #-
  404. This command pauses program execution for X tenths seconds
  405. (decimals are not accepted). The incoming characters are still
  406. checked.
  407.  
  408. example: DELAY 15 (wait 1.5 seconds)
  409.  
  410. WAIT TEXT-OR-TEXT-OR-TEXT -
  411. OR
  412. WAIT TEXT-OR-TEXT-OR-#12345
  413.  
  414. This command tells Net-Tamer to check the incoming characters from
  415. service until the TEXT information is received. The -OR- is optional.
  416. If you specify -OR- (max two) the program will resume
  417. execution when it receives the characters matching any command
  418. specified by TEXT. The maximum length of TEXT is 40 characters. You
  419. may also say wait BILL-OR-#120. The number preceded by the #
  420. character indicates the maximum length of time to wait. The number
  421. is 1/10ths of a second.
  422.  
  423. If the time is up, before the program reaches the text, then the
  424. script is abandoned. If a wait statement is not successful and you
  425. have not specified a time, Net-Tamer abandons the script in 7 seconds
  426. on a *.LOG file. <32> below represents a space character.
  427.  
  428. Example: WAIT MAIL><32>:-or-TO:<32><32>
  429.  
  430. Add /NOERROR, if you do not wish the script to end, if the text is
  431. not found in the specified time.
  432.  
  433. BLAST TEXT<13>
  434. This command tells the program to send the characters in text. If
  435. the <13> command is included, the program sends ASCII 13 or enter.
  436. Example:  Blast READ WAITING NS<13>
  437.  
  438. IF TEXT -
  439. or
  440. IF NOT TEXT
  441.  
  442. END IF -
  443. Tells Net-Tamer to compare the current state of incoming data for
  444. service with TEXT. If the TEXT condition is true, then Net-Tamer
  445. proceeds otherwise, it skips to the end of the END IF.  The NOT
  446. statement REVERSES this. The statements are executed only if the
  447. TEXT is not the situation.
  448.  
  449. STATIC ###.###.###.### -
  450.  
  451. STATIC 206.14.56.13 in the script at any time before the PPP
  452. command, would tell the program to assume that as your static IP address.
  453. This is seldom needed. The most likely use would be a direct
  454. serial port connection to network, and not over a modem.
  455.  
  456. PPP -
  457. This ends the script file and tells the program to go to PPP
  458. mode. YOU MUST INCLUDE THIS COMMAND AT THE END OF THE SCRIPT!
  459.  
  460.  
  461. USERNAME$ and PASSWORD$ - These are instructions to the program
  462. to insert your Username or Password in this spot in the script.
  463. DO NOT INCLUDE A <13> with these commands. For example:
  464.  
  465. BLAST USERNAME$
  466.  
  467. Will send your username and a <13>.
  468.  
  469. You may also use these commands, even if other information is
  470. needed in the login. For example, CRIS.COM uses USERNAME$PPP
  471. to tell the service that you want a PPP connect. Netcom.com uses
  472. #USERNAME$ for the same reason. Again, no <13> is required.
  473.  
  474. Sample  scripts:
  475. -----DEMON-------
  476. wait login:
  477. BLAST Username$
  478. wait Password:
  479. BLAST Password$
  480. wait Protocol:
  481. BLAST PPP,nolqm,MRU=1500<13>
  482. wait HELLO
  483. PPP
  484. -----------------
  485.  
  486. ----CIS1-----
  487. DELAY 30
  488. Blast <3>
  489. WAIT ame:
  490. BLAST CIS<13>
  491. WAIT ID:
  492. BLAST Username$/go:pppconnect
  493. WAIT word:
  494. BLAST Password$
  495. DELAY 50
  496. PPP
  497. ----------------
  498. ----CIS2------
  499. DELAY 30
  500. Blast <13>
  501. WAIT ID:
  502. BLAST Username$/go:pppconnect
  503. WAIT word:
  504. BLAST Password$
  505. DELAY 50
  506. PPP
  507. -----------------
  508. ----CRIS----
  509. WAIT user:-OR-#600
  510. BLAST Username$@PPP
  511. WAIT word:
  512. DELAY 10
  513. BLAST Password$
  514. PPP
  515. -----------------
  516. ----EROLS--------
  517. BLAST <13>
  518. WAIT Login:
  519. BLAST Username$
  520. WAIT Password:
  521. DELAY 10
  522. BLAST Password$
  523. WAIT PPP
  524. PPP
  525. ----------------
  526. ----PACIFIER-----
  527. WAIT  host:
  528. BLAST ppp<13>
  529. WAIT login:<32>
  530. BLAST Username$
  531. WAIT word:<32>
  532. DELAY 10
  533. BLAST Password$
  534. PPP
  535. -----------------
  536. ----PIPELINE-----
  537. DELAY 40
  538. BLAST @
  539. ECHO @
  540. DELAY 3
  541. BLAST D
  542. ECHO D
  543. DELAY 3
  544. BLAST <13>
  545. WAIT in:
  546. BLAST DELPHI<13>
  547. WAIT Username:<32>
  548. BLAST Username$
  549. WAIT Password:<32>
  550. BLAST Password$
  551. Wait Hello
  552. DELAY 5
  553. PPP
  554. -------------------
  555. ----AGATE-----
  556. DELAY 10
  557. BLAST <13>
  558. DELAY 10
  559. WAIT ogin:<32>-OR-#600
  560. DELAY 10
  561. BLAST Username$
  562. WAIT  word:<32>
  563. DELAY 10
  564. BLAST Password$
  565. WAIT  beginning....
  566. PPP
  567. ------------------
  568.  
  569.