From 063284837c8c366e5502b1b0264b8eb807b61732 Mon Sep 17 00:00:00 2001 From: Joe Robinson Date: Wed, 27 Oct 2010 14:21:09 +0100 Subject: Basic upload functionality to predifined location, with basic file browser --- org/apache/commons/net/smtp/RelayPath.java | 102 +++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 org/apache/commons/net/smtp/RelayPath.java (limited to 'org/apache/commons/net/smtp/RelayPath.java') diff --git a/org/apache/commons/net/smtp/RelayPath.java b/org/apache/commons/net/smtp/RelayPath.java new file mode 100644 index 0000000..62d1098 --- /dev/null +++ b/org/apache/commons/net/smtp/RelayPath.java @@ -0,0 +1,102 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.commons.net.smtp; + +import java.util.Enumeration; +import java.util.Vector; + +/*** + * A class used to represent forward and reverse relay paths. The + * SMTP MAIL command requires a reverse relay path while the SMTP RCPT + * command requires a forward relay path. See RFC 821 for more details. + * In general, you will not have to deal with relay paths. + *

+ *

+ * @author Daniel F. Savarese + * @see SMTPClient + ***/ + +public final class RelayPath +{ + Vector _path; + String _emailAddress; + + /*** + * Create a relay path with the specified email address as the ultimate + * destination. + *

+ * @param emailAddress The destination email address. + ***/ + public RelayPath(String emailAddress) + { + _path = new Vector(); + _emailAddress = emailAddress; + } + + /*** + * Add a mail relay host to the relay path. Hosts are added left to + * right. For example, the following will create the path + * < @bar.com,@foo.com:foobar@foo.com > + *

+     * path = new RelayPath("foobar@foo.com");
+     * path.addRelay("bar.com");
+     * path.addRelay("foo.com");
+     * 
+ *

+ * @param hostname The host to add to the relay path. + ***/ + public void addRelay(String hostname) + { + _path.addElement(hostname); + } + + /*** + * Return the properly formatted string representation of the relay path. + *

+ * @return The properly formatted string representation of the relay path. + ***/ + @Override + public String toString() + { + StringBuffer buffer = new StringBuffer(); + Enumeration hosts; + + buffer.append('<'); + + hosts = _path.elements(); + + if (hosts.hasMoreElements()) + { + buffer.append('@'); + buffer.append(hosts.nextElement()); + + while (hosts.hasMoreElements()) + { + buffer.append(",@"); + buffer.append(hosts.nextElement()); + } + buffer.append(':'); + } + + buffer.append(_emailAddress); + buffer.append('>'); + + return buffer.toString(); + } + +} -- cgit v1.2.3