phpop.inc
上传用户:xuanqunsh
上传日期:2007-01-04
资源大小:58k
文件大小:4k
源码类别:

WEB邮件程序

开发平台:

PHP

  1. <?php
  2. # ---------------------------------------------------------------
  3. # phpop
  4. # A WWW based POP3 basic mail user agent (MUA)
  5. # Copyright (C) 1999  Padraic Renaghan
  6. # Licensed under terms of GNU General Public License
  7. # (see http://www.renaghan.com/phpop/source/LICENSE)
  8. # ---------------------------------------------------------------
  9. # $Id: phpop.inc,v 1.14 2000/04/14 13:57:14 prenagha Exp $
  10. # ---------------------------------------------------------------
  11. class phpop_class {
  12.   var $version        = "1.2.1";
  13. # directory where FastTemplate templates are located on this server
  14.   var $template_dir   = "./lib/templates";
  15. #------------
  16. # mail servers that are displayed on the login page.
  17. # -to allow any server (an open text field), set this to FALSE.
  18. #  var $login_servers = false;
  19. # -to allow one server (a closed text field), set this to the server name.
  20.    var $login_servers = array ("renaghan.com");
  21. # -to allow more than one server (a select control), set this
  22. #  to the names of the servers. the first server in the array
  23. #  becomes the default.
  24. #  var $login_servers = array ("mail.domain.com", "mail2.domain.com");
  25. #------------
  26. #------------
  27. # pop port to default login to.
  28. # if you don't want to present the port option on the login
  29. # page, but still want to show the port on the login, 
  30. # then set this to false. this will force the port to 110.
  31. #  var $login_port = false;
  32. # if you don't want to present the port option on the login
  33. # page, but DO want to show the port on the login,
  34. # then set this to -1. this will force the port to 110.
  35.   var $login_port = -1;
  36. # if you want to give the user an open text field to enter
  37. # the port number in during login, then enter the port to
  38. # default the textfield to here - usually 110.
  39. #  var $login_port = 110;
  40. #------------
  41. # allow sending up to ONE file attachment in a message?
  42.   var $allow_send_attachment = true;
  43. # image URL - string added to the begining of an image file
  44. # (for example, I set this to "../images/" which makes phpop
  45. # build image URLs like <img src="../images/mailto.gif"...)
  46.   var $image_url_prefix = "./images/";
  47. # determine if the FastTemplate intepretation is strict or
  48. # not strict. Strict shows the {VAR_NAME} in the output HTML
  49. # if a value is not substituted - this is useful for debugging
  50. # and testing
  51.   var $FastTemplate_strict = FALSE;
  52. # class constructor
  53.   function phpop_class () {
  54.     global $SERVER_NAME, $REMOTE_ADDR;
  55.   # this var controls the headers that are added to the mail-this-link
  56.   # email message. You may choose to bcc: yourself, record the senders IP...
  57.   # the headers should be separated by a newline ("n")
  58.     $this->site_headers = sprintf("X-Sender: phpop at %snX-Sender-IP: %s"
  59.                                 ,$SERVER_NAME, $REMOTE_ADDR);
  60.   }
  61. }
  62. # extend the POP3 class to our liking.
  63. # the POP3 class is from http://www.thewebmasters.net/php/
  64. class my_pop3 extends POP3 {
  65. # Default POP port
  66.   var $PORT = 110;
  67. # set to true to echo pop3
  68. # commands and responses to error_log
  69. # this WILL log passwords!
  70. var $DEBUG = false;
  71. # Allow or disallow apop()
  72. # This must be set to true manually.
  73. var $ALLOWAPOP = false;
  74. # Set to true if using VMailMgr
  75. var $VMAILMGR = false;
  76. # class constructor
  77.   function my_pop3 () {
  78.   }
  79. }
  80. # instantiate the phpop class
  81. $phpop = new phpop_class ();
  82. # every phpop page uses the FastTemplate class
  83. # to generate HTML.
  84. $tpl = new FastTemplate($phpop->template_dir);
  85. if (! $phpop->FastTemplate_strict ) {
  86.   $tpl->no_strict();
  87. }
  88. # create an instance of the data validation class
  89. $validate = new Validator ();
  90. # create an instance of the pop server access class
  91. $pop3 = new my_pop3 ();
  92. # -------------------------------
  93. # SHARED FUNCTIONS
  94. # -------------------------------
  95. function  set_standard($title, &$p_tpl)  {
  96.   global $sess, $phpop, $auth, $SERVER_NAME;
  97.   $p_tpl->assign(array(
  98.   TITLE            => $title,
  99.   SERVER_NAME      => $SERVER_NAME,
  100.   USER_NAME        => $auth->auth["uname"],
  101. LIST_URL         => $sess->url("index.php3"),
  102. NEW_URL          => $sess->url("send.php3"),
  103. LOGOUT_URL       => $sess->url("logout.php3"),
  104. VERSION          => $phpop->version
  105.   ));
  106. }
  107. ?>