FileDocCategorySizeDatePackage
RelayPath.javaAPI DocApache Commons NET 1.4.1 API2788Sat Dec 03 10:05:48 GMT 2005org.apache.commons.net.smtp

RelayPath

public final class RelayPath extends Object
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

Fields Summary
Vector
_path
String
_emailAddress
Constructors Summary
public RelayPath(String emailAddress)
Create a relay path with the specified email address as the ultimate destination.

param
emailAddress The destination email address.

        _path = new Vector();
        _emailAddress = emailAddress;
    
Methods Summary
public voidaddRelay(java.lang.String hostname)
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.

        _path.addElement(hostname);
    
public java.lang.StringtoString()
Return the properly formatted string representation of the relay path.

return
The properly formatted string representation of the relay path.

        StringBuffer buffer = new StringBuffer();
        Enumeration hosts;

        buffer.append('<");

        hosts = _path.elements();

        if (hosts.hasMoreElements())
        {
            buffer.append('@");
            buffer.append((String)hosts.nextElement());

            while (hosts.hasMoreElements())
            {
                buffer.append(",@");
                buffer.append((String)hosts.nextElement());
            }
            buffer.append(':");
        }

        buffer.append(_emailAddress);
        buffer.append('>");

        return buffer.toString();