## javax.mail
Class Authenticator

    java.lang.Object
      javax.mail.Authenticator

    public abstract class Authenticator

extends java.lang.Object

The class Authenticator represents an object that knows how to obtain authentication for a network connection. Usually, it will do this by prompting the user for information.

Applications use this class by creating a subclass, and registering an instance of that subclass with the session when it is created. When authentication is required, the system will invoke a method on the subclass (like getPasswordAuthentication). The subclass's method can query about the authentication being requested with a number of inherited methods (getRequestingXXX()), and form an appropriate message for the user.

All methods that request authentication have a default implementation that fails.

See Also:
  `Authenticator`, `Session.getInstance(java.util.Properties, javax.mail.Authenticator)`, `Session.getDefaultInstance(java.util.Properties, javax.mail.Authenticator)`, `Session.requestPasswordAuthentication(java.net.InetAddress, int, java.lang.String, java.lang.String, java.lang.String)`, `PasswordAuthentication`

Constructor Summary
`Authenticator()`

Method Summary
`protected java.lang.String` `getDefaultUserName()`
`protected PasswordAuthentication` `getPasswordAuthentication()` Called when password authentication is needed.
`protected int` `getRequestingPort()`
`protected java.lang.String` `getRequestingPrompt()`
`protected java.lang.String` `getRequestingProtocol()` Give the protocol that's requesting the connection.
`protected java.net.InetAddress` `getRequestingSite()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Authenticator

    public Authenticator()

Method Detail

### getRequestingSite

    protected final java.net.InetAddress getRequestingSite()

  Returns:
    the InetAddress of the site requesting authorization, or null if it's not available.

### getRequestingPort

    protected final int getRequestingPort()

  Returns:
    the port for the requested connection

### getRequestingProtocol

    protected final java.lang.String getRequestingProtocol()

  Give the protocol that's requesting the connection. Often this will be based on a URLName.

  Returns:
    the protcol
  See Also:
    `URLName.getProtocol()`

### getRequestingPrompt

    protected final java.lang.String getRequestingPrompt()

  Returns:
    the prompt string given by the requestor

### getDefaultUserName

    protected final java.lang.String getDefaultUserName()

  Returns:
    the default user name given by the requestor

### getPasswordAuthentication

    protected PasswordAuthentication getPasswordAuthentication()

  Called when password authentication is needed. Subclasses should override the default implementation, which returns null.

  Note that if this method uses a dialog to prompt the user for this information, the dialog needs to block until the user supplies the information. This method can not simply return after showing the dialog.

  Returns:
    The PasswordAuthentication collected from the user, or null if none is provided.