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 / www / protocol / mailto / MailToURLConnection.class (.txt) < prev   
Encoding:
Java Class File  |  1979-12-31  |  2.0 KB  |  82 lines

  1. package sun.net.www.protocol.mailto;
  2.  
  3. import java.io.IOException;
  4. import java.io.InputStream;
  5. import java.io.OutputStream;
  6. import java.net.InetAddress;
  7. import java.net.SocketPermission;
  8. import java.net.URL;
  9. import java.net.UnknownHostException;
  10. import java.security.Permission;
  11. import sun.net.smtp.SmtpClient;
  12. import sun.net.www.MessageHeader;
  13. import sun.net.www.ParseUtil;
  14. import sun.net.www.URLConnection;
  15.  
  16. public class MailToURLConnection extends URLConnection {
  17.    // $FF: renamed from: is java.io.InputStream
  18.    InputStream field_0 = null;
  19.    // $FF: renamed from: os java.io.OutputStream
  20.    OutputStream field_1 = null;
  21.    SmtpClient client;
  22.    Permission permission;
  23.  
  24.    MailToURLConnection(URL var1) {
  25.       super(var1);
  26.       MessageHeader var2 = new MessageHeader();
  27.       var2.add("content-type", "text/html");
  28.       ((URLConnection)this).setProperties(var2);
  29.    }
  30.  
  31.    String getFromAddress() {
  32.       String var1 = System.getProperty("user.fromaddr");
  33.       if (var1 == null) {
  34.          var1 = System.getProperty("user.name");
  35.          if (var1 != null) {
  36.             String var2 = System.getProperty("mail.host");
  37.             if (var2 == null) {
  38.                try {
  39.                   var2 = InetAddress.getLocalHost().getHostName();
  40.                } catch (UnknownHostException var4) {
  41.                }
  42.             }
  43.  
  44.             var1 = var1 + "@" + var2;
  45.          } else {
  46.             var1 = "";
  47.          }
  48.       }
  49.  
  50.       return var1;
  51.    }
  52.  
  53.    public void connect() throws IOException {
  54.       this.client = new SmtpClient();
  55.    }
  56.  
  57.    public synchronized OutputStream getOutputStream() throws IOException {
  58.       if (this.field_1 != null) {
  59.          return this.field_1;
  60.       } else if (this.field_0 != null) {
  61.          throw new IOException("Cannot write output after reading input.");
  62.       } else {
  63.          this.connect();
  64.          String var1 = ParseUtil.decode(super.url.getPath());
  65.          this.client.from(this.getFromAddress());
  66.          this.client.to(var1);
  67.          this.field_1 = this.client.startMessage();
  68.          return this.field_1;
  69.       }
  70.    }
  71.  
  72.    public Permission getPermission() throws IOException {
  73.       if (this.permission == null) {
  74.          this.connect();
  75.          String var1 = this.client.getMailHost() + ":" + 25;
  76.          this.permission = new SocketPermission(var1, "connect");
  77.       }
  78.  
  79.       return this.permission;
  80.    }
  81. }
  82.