home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / sun / net / smtp / SmtpClient.class (.txt) next >
Encoding:
Java Class File  |  1979-12-31  |  2.5 KB  |  149 lines

  1. package sun.net.smtp;
  2.  
  3. import java.io.IOException;
  4. import java.io.PrintStream;
  5. import java.net.InetAddress;
  6. import java.security.AccessController;
  7. import sun.net.NetworkClient;
  8. import sun.net.TransferProtocolClient;
  9. import sun.security.action.GetPropertyAction;
  10.  
  11. public class SmtpClient extends TransferProtocolClient {
  12.    String mailhost;
  13.    SmtpPrintStream message;
  14.  
  15.    public void closeServer() throws IOException {
  16.       if (((NetworkClient)this).serverIsOpen()) {
  17.          this.closeMessage();
  18.          this.issueCommand("QUIT\r\n", 221);
  19.          super.closeServer();
  20.       }
  21.  
  22.    }
  23.  
  24.    void issueCommand(String var1, int var2) throws IOException {
  25.       ((TransferProtocolClient)this).sendServer(var1);
  26.  
  27.       int var3;
  28.       while((var3 = ((TransferProtocolClient)this).readServerResponse()) != var2) {
  29.          if (var3 != 220) {
  30.             throw new SmtpProtocolException(((TransferProtocolClient)this).getResponseString());
  31.          }
  32.       }
  33.  
  34.    }
  35.  
  36.    private void toCanonical(String var1) throws IOException {
  37.       this.issueCommand("rcpt to: " + var1 + "\r\n", 250);
  38.    }
  39.  
  40.    // $FF: renamed from: to (java.lang.String) void
  41.    public void method_0(String var1) throws IOException {
  42.       int var2 = 0;
  43.       int var3 = var1.length();
  44.       int var4 = 0;
  45.       int var5 = 0;
  46.       int var6 = 0;
  47.  
  48.       for(boolean var7 = false; var4 < var3; ++var4) {
  49.          char var8 = var1.charAt(var4);
  50.          if (var6 > 0) {
  51.             if (var8 == '(') {
  52.                ++var6;
  53.             } else if (var8 == ')') {
  54.                --var6;
  55.             }
  56.  
  57.             if (var6 == 0) {
  58.                if (var5 > var2) {
  59.                   var7 = true;
  60.                } else {
  61.                   var2 = var4 + 1;
  62.                }
  63.             }
  64.          } else if (var8 == '(') {
  65.             ++var6;
  66.          } else if (var8 == '<') {
  67.             var2 = var5 = var4 + 1;
  68.          } else if (var8 == '>') {
  69.             var7 = true;
  70.          } else if (var8 == ',') {
  71.             if (var5 > var2) {
  72.                this.toCanonical(var1.substring(var2, var5));
  73.             }
  74.  
  75.             var2 = var4 + 1;
  76.             var7 = false;
  77.          } else if (var8 > ' ' && !var7) {
  78.             var5 = var4 + 1;
  79.          } else if (var2 == var4) {
  80.             ++var2;
  81.          }
  82.       }
  83.  
  84.       if (var5 > var2) {
  85.          this.toCanonical(var1.substring(var2, var5));
  86.       }
  87.  
  88.    }
  89.  
  90.    public void from(String var1) throws IOException {
  91.       this.issueCommand("mail from: " + var1 + "\r\n", 250);
  92.    }
  93.  
  94.    private void openServer(String var1) throws IOException {
  95.       this.mailhost = var1;
  96.       ((NetworkClient)this).openServer(this.mailhost, 25);
  97.       this.issueCommand("helo " + InetAddress.getLocalHost().getHostName() + "\r\n", 250);
  98.    }
  99.  
  100.    public PrintStream startMessage() throws IOException {
  101.       this.issueCommand("data\r\n", 354);
  102.       return this.message = new SmtpPrintStream(super.serverOutput, this);
  103.    }
  104.  
  105.    void closeMessage() throws IOException {
  106.       if (this.message != null) {
  107.          this.message.close();
  108.       }
  109.  
  110.    }
  111.  
  112.    public SmtpClient(String var1) throws IOException {
  113.       if (var1 != null) {
  114.          try {
  115.             this.openServer(var1);
  116.             this.mailhost = var1;
  117.             return;
  118.          } catch (Exception var5) {
  119.          }
  120.       }
  121.  
  122.       try {
  123.          this.mailhost = (String)AccessController.doPrivileged(new GetPropertyAction("mail.host"));
  124.          if (this.mailhost != null) {
  125.             this.openServer(this.mailhost);
  126.             return;
  127.          }
  128.       } catch (Exception var4) {
  129.       }
  130.  
  131.       try {
  132.          this.mailhost = "localhost";
  133.          this.openServer(this.mailhost);
  134.       } catch (Exception var3) {
  135.          this.mailhost = "mailhost";
  136.          this.openServer(this.mailhost);
  137.       }
  138.  
  139.    }
  140.  
  141.    public SmtpClient() throws IOException {
  142.       this((String)null);
  143.    }
  144.  
  145.    public String getMailHost() {
  146.       return this.mailhost;
  147.    }
  148. }
  149.