WARNING: Most of this content (with the exception of the Mozilla 1.9 XPCOM reference) is very old, and can be expected to be out of date and possibly obsolete. For better XUL documentation, please visit the XUL hub at the Mozilla Developer Center.

@mozilla.org/messengercompose/smtp;1

This component implements the following interfaces:

Constants

Standard full URI with authority component and concept of relative URIs (http, ftp, ...)
PRUint32 nsIProtocolHandler.URI_STD = 0
No concept of relative URIs (about, javascript, finger, ...)
PRUint32 nsIProtocolHandler.URI_NORELATIVE = 1
No authority component (file, ...)
PRUint32 nsIProtocolHandler.URI_NOAUTH = 2
The URIs for this protocol have no inherent security context, so documents loaded via this protocol should inherit the security context from the document that loads them.
PRUint32 nsIProtocolHandler.URI_INHERITS_SECURITY_CONTEXT = 16
"Automatic" loads that would replace the document (e.g. refresh, certain types of XLinks, possibly other loads that the application decides are not user triggered) are not allowed if the originating (NOT the target) URI has this protocol flag. Note that the decision as to what constitutes an "automatic" load is made externally, by the caller of nsIScriptSecurityManager::CheckLoadURI. See documentation for that method for more information.

A typical protocol that might want to set this flag is a protocol that shows highly untrusted content in a viewing area that the user expects to have a lot of control over, such as an e-mail reader.

PRUint32 nsIProtocolHandler.URI_FORBIDS_AUTOMATIC_DOCUMENT_REPLACEMENT = 32
The URIs for this protocol can be loaded by anyone. For example, any website should be allowed to trigger a load of a URI for this protocol. Web-safe protocols like "http" should set this flag.
PRUint32 nsIProtocolHandler.URI_LOADABLE_BY_ANYONE = 64
The URIs for this protocol are UNSAFE if loaded by untrusted (web) content and may only be loaded by privileged code (for example, code which has the system principal). Various internal protocols should set this flag.
PRUint32 nsIProtocolHandler.URI_DANGEROUS_TO_LOAD = 128
The URIs for this protocol point to resources that are part of the application's user interface. There are cases when such resources may be made accessible to untrusted content such as web pages, so this is less restrictive than URI_DANGEROUS_TO_LOAD but more restrictive than URI_LOADABLE_BY_ANYONE. See the documentation for nsIScriptSecurityManager::CheckLoadURI.
PRUint32 nsIProtocolHandler.URI_IS_UI_RESOURCE = 256
Loading of URIs for this protocol from other origins should only be allowed if those origins should have access to the local filesystem. It's up to the application to decide what origins should have such access. Protocols like "file" that point to local data should set this flag.
PRUint32 nsIProtocolHandler.URI_IS_LOCAL_FILE = 512
Loading channels from this protocol has side-effects that make it unsuitable for saving to a local file.
PRUint32 nsIProtocolHandler.URI_NON_PERSISTABLE = 1024
Channels using this protocol never call OnDataAvailable on the listener passed to AsyncOpen and they therefore do not return any data that we can use.
PRUint32 nsIProtocolHandler.URI_DOES_NOT_RETURN_DATA = 2048
This protocol handler can be proxied via a proxy (socks or http) (e.g., irc, smtp, http, etc.). If the protocol supports transparent proxying, the handler should implement nsIProxiedProtocolHandler.

If it supports only HTTP proxying, then it need not support nsIProxiedProtocolHandler, but should instead set the ALLOWS_PROXY_HTTP flag (see below).

PRUint32 nsIProtocolHandler.ALLOWS_PROXY = 4
This protocol handler can be proxied using a http proxy (e.g., http, ftp, etc.). nsIIOService::newChannelFromURI will feed URIs from this protocol handler to the HTTP protocol handler instead. This flag is ignored if ALLOWS_PROXY is not set.
PRUint32 nsIProtocolHandler.ALLOWS_PROXY_HTTP = 8

Properties

readonly PRInt32 nsIProtocolHandler.defaultPort

The default port is the port that this protocol normally uses. If a port does not make sense for the protocol (e.g., "about:") then -1 will be returned.

nsISmtpServer nsISmtpService.defaultServer

The default server, across sessions of the app (eventually there will be a session default which does not persist past shutdown)

readonly PRUint32 nsIProtocolHandler.protocolFlags

Returns the protocol specific flags (see flag definitions below).

readonly ACString nsIProtocolHandler.scheme

The scheme of this protocol (e.g., "file").

nsISmtpServer nsISmtpService.sessionDefaultServer

The "session default" server - this is never saved, and only used for the current session. Always falls back to the default server unless explicitly set.

readonly nsISupportsArray nsISmtpService.smtpServers

A copy of the array of SMTP servers, as stored in the preferences

Methods

InterfaceMethod
nsIProtocolHandler PRBool allowPort ( PRInt32 port , char* scheme )
nsISmtpService nsISmtpServer createSmtpServer ( )
nsISmtpService void deleteSmtpServer ( nsISmtpServer server )
nsISmtpService nsISmtpServer findServer ( char* username , char* hostname )
nsISmtpService nsISmtpServer getServerByKey ( char* key )
nsISmtpService void GetSmtpServerByIdentity ( nsIMsgIdentity senderIdentity , out nsISmtpServer server )
nsIProtocolHandler nsIChannel newChannel ( nsIURI URI )
nsIProtocolHandler nsIURI newURI ( AUTF8String spec , char* originCharset , nsIURI baseURI )
nsISmtpService void SendMailMessage ( nsIFile filePath , char* recipients , nsIMsgIdentity senderIdentity , char* password , nsIUrlListener urlListener , nsIMsgStatusFeedback statusListener , nsIInterfaceRequestor notificationCallbacks , PRBool requestDSN , out nsIURI URL , out nsIRequest request )

Reference documentation is generated from Mozilla's source.