popper.8
上传用户:dayuan858
上传日期:2007-01-04
资源大小:194k
文件大小:8k
源码类别:

网络编程

开发平台:

Unix_Linux

  1. ." Copyright (c) 1980 Regents of the University of California.
  2. ." All rights reserved.
  3. ."
  4. ." Redistribution and use in source and binary forms are permitted
  5. ." provided that this notice is preserved and that due credit is given
  6. ." to the University of California at Berkeley. The name of the University
  7. ." may not be used to endorse or promote products derived from this
  8. ." software without specific prior written permission. This software
  9. ." is provided ``as is'' without express or implied warranty.
  10. ."
  11. ." @(#)@(#)popper.8 2.3    2.3    (CCS)   4/2/91     Copyright (c) 1990 Regents of the University of California.nAll rights reserved.n
  12. ."
  13. .TH popper 8 "August 1990"
  14. .UC 6
  15. .ad
  16. .SH NAME
  17. popper - pop 3 server
  18. .SH SYNOPSIS
  19. .B /usr/etc/popper
  20. [ -d ]
  21. [ -s ]
  22. [ -k ]
  23. [ -t trace-file]
  24. [ -T timeout]
  25. [ -b bulldir]
  26. .SH DESCRIPTION
  27. .I Popper
  28. is an implementation of the Post Office Protocol server that runs on a
  29. variety of Unix computers to manage electronic mail for Macintosh
  30. and MS-DOS computers.  The server was developed at the University of
  31. California at Berkeley and conforms fully to the specifications in RFC
  32. 1939.
  33. .PP
  34. The 
  35. .B -d
  36. flag sets the socket to debugging and turns on debugging.  All debugging
  37. information is saved using syslog(8).  The 
  38. .B -t trace-file
  39. flag turns on debugging and saves the trace information in
  40. .I trace-file
  41. using fprintf(3V).
  42. .PP
  43. The
  44. .B -k
  45. flag enables kerberos authentication when popper has been compiled with
  46. the KERBEROS define.  You must already have libraries that support Kerberos.
  47. .PP
  48. The
  49. .B -s
  50. flag turns on statistics logging using syslog(8). At the end of each popper
  51. session, the following information is logged: username, number of 
  52. messages deleted, number of bytes deleted, number of message left on server,
  53. number of bytes left on server.
  54. .PP
  55. The
  56. .B -T timeout
  57. option changes the default compiled value POP_TIMEOUT for terminating a 
  58. session with a pop client.  
  59. When the server is waiting for a command to arrive from the client, it
  60. times out after the specified number of seconds and terminates the session.
  61. This avoids having popper processes hang forever waiting for command input
  62. from clients which have terminated abnormally.
  63. A small value is ok for small to medium nets where
  64. the network delay is within a few seconds.  In this case 15-30 seconds is
  65. not unreasonable.  Networks with large delays in sending packets (e.g., SLIP 
  66. links) may require a larger value.  In this case 300 seconds (5 minutes) is not
  67. unreasonable.  
  68. .PP
  69. The
  70. .B -b bulldir
  71. option turns on the bulletin feature and specifies the bulletin directory path.
  72. .SH BULLETINS
  73. .PP
  74. The bulletin feature gives system administrators a way to send important
  75. announcements to all POP users without having to do mass mailings.
  76. .PP
  77. The bulletin directory contains one file per bulletin. Each file 
  78. contains a single mail message with header and body in 
  79. mailbox format. The first line of each such bulletin must be a "From " line. 
  80. The easiest way for sysadmins to create such bulletins is to mail themselves 
  81. a copy of the bulletin using the account to which they want replies to be sent,
  82. then use their mail program to save the message to a file in the bulletin 
  83. directory in mailbox format. The bulletin directory must be world readable.
  84. .PP
  85. The name of each bulletin file begins with the bulletin number, and may 
  86. optionally continue with any other characters. E.g., the file name of 
  87. bulletin number 23 might be "23.pophost_down_sunday".
  88. .PP
  89. Popper creates a file named .popbull 
  90. in the home directory of each user. 
  91. This file contains a single line recording the highest numbered bulletin 
  92. received by the user. 
  93. .PP
  94. Each time a POP client connects to the server, any new bulletins which 
  95. the user has not received previously are automatically appended to the
  96. user's mail.
  97. .PP
  98. When a bulletin is copied, the "To" header line 
  99. is replaced by "To: username@thishost", and any "Status:" header lines are 
  100. deleted. Otherwise, the bulletin is copied as is.
  101. .PP
  102. When a new user checks for mail the first time, popper creates the .popbull 
  103. file in the user's home directory and seeds it with the current maximum 
  104. bulletin number. Thus new users do not get old bulletins.
  105. .SH THE POP TRANSACTION CYCLE
  106. .PP
  107. The Berkeley POP server is a single program (called popper) that is
  108. launched by inetd when it gets a service request on the POP TCP port.
  109. (The official port number specified in RFC 1081 for POP version 3 is
  110. port 110.  However, some POP3 clients attempt to contact the server at
  111. port 109, the POP version 2 port.  Unless you are running both POP2 and
  112. POP3 servers, you can simply define both ports for use by the POP3
  113. server.  This is explained in the installation instructions later on.)
  114. The popper program initializes and verifies that the peer IP address is
  115. registered in the local domain, logging a warning message when a
  116. connection is made to a client whose IP address does not have a
  117. canonical name.  For systems using BSD 4.3 bind, it also checks to see
  118. if a cannonical name lookup for the client returns the same peer IP
  119. address, logging a warning message if it does not.  The the server
  120. enters the authorization state, during which the client must correctly
  121. identify itself by providing a valid Unix userid and password on the
  122. server's host machine.  No other exchanges are allowed during this
  123. state (other than a request to quit.)  If authentication fails, a
  124. warning message is logged and the session ends.  Once the user is
  125. identified, popper changes its user and group ids to match that of the
  126. user and enters the transaction state.  The server makes a temporary
  127. copy of the user's maildrop which is
  128. used for all subsequent transactions.  These include the bulk of POP
  129. commands to retrieve mail, delete mail, undelete mail, and so forth.
  130. When the client quits, the server enters the final update state during which
  131. the network connection is terminated and the user's maildrop is updated
  132. with the (possibly) modified temporary maildrop.
  133. .SH LOGGING
  134. .PP
  135. The POP server uses syslog to keep a record of its activities.  On
  136. systems with BSD 4.3 syslogging, the server logs (by default) to the
  137. "local0" facility at priority "notice" for all messages except
  138. debugging which is logged at priority "debug".  The default log file is
  139. /usr/spool/mqueue/POPlog.  These can be changed, if desired.  On
  140. systems with 4.2 syslogging all messages are logged to the local log
  141. file, usually /usr/spool/mqueue/syslog.
  142. .SH DEBUGGING
  143. .PP
  144. The popper program will log debugging information when the -d parameter
  145. is specified after its invocation in the inetd.conf file.  Care should
  146. be exercised in using this option since it generates considerable
  147. output in the syslog file.  Alternatively, the "-t <file-name>" option
  148. will place debugging information into file "<file-name>" using fprintf
  149. instead of syslog.
  150. .PP
  151. For SunOS version 3.5, the popper program is launched by inetd from
  152. /etc/servers.  This file does not allow you to specify command line
  153. arguments.  Therefore, if you want to enable debugging, you can specify
  154. a shell script in /etc/servers to be launched instead of popper and in
  155. this script call popper with the desired arguments.
  156. .PP
  157. You can confirm that the POP server is running on Unix by telneting to
  158. port 110 (or 109 if you set it up that way).  For example:
  159. .PP
  160. .nf
  161. %telnet myhost 110
  162. Trying...
  163. Connected to myhost.berkeley.edu.
  164. Escape character is '^]'.
  165. +OK UCB Pop server (version 1.6) at myhost starting.
  166. quit
  167. Connection closed by foreign host.
  168. .fi
  169. .SH EXTENSIONS
  170. .PP
  171. The server implements two extended commands.
  172. .PP
  173. XTND XMIT: Sends a mail message using /usr/lib/sendmail.
  174. .PP
  175. XTND XLIST header [num]: Extracts and returns the specified header line
  176. for the specified message number. If the "num" parameter is missing, 
  177. returns the header line for all the messages which are not currently
  178. marked for deletion.
  179. .SH FILES
  180. .nf
  181. /usr/spool/mail         mail files
  182. /etc/inetd.conf         pop program invocation
  183. /etc/syslog.conf        logging specifications
  184. ~/.popbull              largest bulletin number seen by user
  185. .fi
  186. .SH "SEE ALSO"
  187. inetd(8), 
  188. RFC1081, 
  189. RFC1082,
  190. RFC1939
  191. .SH AUTHORS
  192. Bob Campbell, Edward Moy, Austin Shelton, Marshall T Rose, and cast of
  193. thousands at Rand, UDel, UCI, and elsewhere