phpMail.php3
上传用户:wl2659
上传日期:2007-01-04
资源大小:8k
文件大小:3k
源码类别:

WEB邮件程序

开发平台:

PHP

  1. <?php_track_vars?>
  2. <?php
  3. // Include common functions:
  4. include ("common.inc");
  5. // Function handles missing required fields
  6. function output_missing ($aryMissing) {
  7.  // Get HTML fragment filenames
  8.  include("files.inc");
  9.  // Print out html
  10.  include($incHeader);
  11.  include($incMissing);
  12.  echo "Missing field(s):<P>n";
  13.  for ($p = 0 ; $p < count($aryMissing) ; $p++) {
  14.     echo "<FONT COLOR="FF0000">".$aryMissing[$p]."</FONT><BR>n";
  15.  } // endwhile
  16.  echo "</FONT>n";
  17.  include($incFooter);
  18. }   // endfunc
  19. // Function handles bad address
  20. function output_bad_address ($address) {
  21.  // Get HTML fragment filenames
  22.  include("files.inc");
  23.  // Print out html
  24.  include($incHeader);
  25.  include($incBadfrom);
  26.  echo "Bad Address: <FONT COLOR="FF0000">";
  27.  echo $address."n";
  28.  echo "</FONT>n";
  29.  include($incFooter);
  30. }   // endfunc
  31. // Function handles opening screen
  32. function output_welcome ($selfname) {
  33.  // Get HTML fragment filenames
  34.  include("files.inc");
  35.  // Print out html
  36.  include($incHeader);
  37.  include($incWelcome);
  38.  echo "<FORM ACTION="$selfname" METHOD=POST>n";
  39.  include($incForm);
  40.  echo "<input type="submit" name="submit" value="Send!">";
  41.  echo "</FORM>n";
  42.  include($incFooter);
  43. }   // endfunc
  44. // Function handles thanks screen
  45. function output_thanks ($selfname, $again = 0) {
  46.  // Get HTML fragment filenames
  47.  include("files.inc");
  48.  // Print out html
  49.  include($incHeader);
  50.  include($incThanks);
  51.  if ( $again ) {
  52.     echo "<FORM ACTION="$selfname" METHOD=POST>n";
  53.     include($incForm);
  54.     echo "<input type="submit" name="submit" value="Send!">";
  55.     echo "</FORM>n";
  56.  }   // endif
  57.  include($incFooter);
  58. }   // endfunc
  59. // <--- Main Program --->
  60. if (!empty($submit)) {
  61.  // Initialize array of all possible defaults
  62.  $aryConfig = array("to","subject","from","autofrom","autoprefix",
  63.                     "autosubject","sendextras","autoextras",
  64.                     "template","autoreply","log","askagain",
  65.                     "required","checkfrom","logbodies");
  66.  // Set blank variables to their defaults
  67.  for ($c = 0; $c < count($aryConfig); $c++) {
  68.     ${$aryConfig[$c]} = default_ifempty ($aryConfig[$c],${$aryConfig[$c]});
  69.     if (empty (${$aryConfig[$c]})) {
  70.        unset (${$aryConfig[$c]});
  71.     }   // endif
  72.  }   // endfor
  73.  // Start branching depending on values...
  74.  
  75.  if ( check_required($required,$aryMissing) ) {
  76.     output_missing($aryMissing);
  77.  } elseif (($checkfrom) and (strstr("$required",'from')) and (bad_address($from)) ) {
  78.     output_bad_address($from);
  79.  } else { 
  80.     if ($log) {
  81.        log_it ($to, $from, $subject, $body);
  82.        $logged = 1;
  83.     }   // endif
  84.     if ((!empty ($to)) or (!empty ($autofrom))) {
  85.        mail_it ();
  86.        $mailed = 1;
  87.     }   // endif
  88.     $whoami = basename(getenv("PATH_INFO"));
  89.     output_thanks($whoami,$askagain);
  90.  }   // endif (submitted branch)
  91. } else {
  92.    $whoami = basename(getenv("PATH_INFO"));
  93.    output_welcome($whoami);
  94. }   // endif (main branch)
  95. ?>