k-9/src/com/fsck/k9/mail/Transport.java

38 lines
1009 B
Java

package com.fsck.k9.mail;
import com.fsck.k9.Account;
import com.fsck.k9.mail.transport.SmtpTransport;
import com.fsck.k9.mail.transport.WebDavTransport;
public abstract class Transport
{
protected static final int SOCKET_CONNECT_TIMEOUT = 10000;
// RFC 1047
protected static final int SOCKET_READ_TIMEOUT = 300000;
public synchronized static Transport getInstance(Account account) throws MessagingException
{
String uri = account.getTransportUri();
if (uri.startsWith("smtp"))
{
return new SmtpTransport(uri);
}
else if (uri.startsWith("webdav"))
{
return new WebDavTransport(account);
}
else
{
throw new MessagingException("Unable to locate an applicable Transport for " + uri);
}
}
public abstract void open() throws MessagingException;
public abstract void sendMessage(Message message) throws MessagingException;
public abstract void close();
}