diff options
Diffstat (limited to 'mailnews/compose/public/nsISmtpUrl.idl')
-rw-r--r-- | mailnews/compose/public/nsISmtpUrl.idl | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/mailnews/compose/public/nsISmtpUrl.idl b/mailnews/compose/public/nsISmtpUrl.idl new file mode 100644 index 000000000..be2af7cb7 --- /dev/null +++ b/mailnews/compose/public/nsISmtpUrl.idl @@ -0,0 +1,110 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsISupports.idl" +#include "nsIMsgComposeParams.idl" + +interface nsIMsgIdentity; +interface nsIPrompt; +interface nsIAuthPrompt; +interface nsISmtpServer; +interface nsIInterfaceRequestor; +interface nsIFile; + +[scriptable, uuid(da22b8ac-059d-4f82-bf99-f5f3d3c8202d)] +interface nsISmtpUrl : nsISupports { + /** + * SMTP Parse specific getters. + * These retrieve various parts from the url. + */ + + /** + * This list is a list of all recipients to send the email to. + * Each name is NULL terminated. + */ + attribute string recipients; + + attribute boolean PostMessage; + + /** + * The message can be stored in a file, to allow accessors for getting and + * setting the file name to post. + */ + attribute nsIFile postMessageFile; + + attribute boolean requestDSN; + + /** + * The envid which is used in the DSN. + */ + attribute ACString dsnEnvid; + + /** + * SMTP Url instance specific getters and setters + * Information the protocol needs to know in order to run the url. + * These are NOT event sinks which are things the caller needs to know. + */ + + /** + * By default the url is really a bring up the compose window mailto url. + * You need to call this function if you want to force the message to be + * posted to the mailserver. + */ + + /** + * The user's full name and user's email address are encapsulated in the + * senderIdentity. + * (the user's domain name can be glopped from the user's email address) + * + * NOTE: the SMTP username and SMTP server are in the smtp url + * smtp://sspitzer@tintin/... + */ + attribute nsIMsgIdentity senderIdentity; + attribute nsIPrompt prompt; + attribute nsIAuthPrompt authPrompt; + attribute nsIInterfaceRequestor notificationCallbacks; + attribute nsISmtpServer smtpServer; + + attribute boolean verifyLogon; // we're just verifying the ability to logon + + /// Constant for the default SMTP port number + const int32_t DEFAULT_SMTP_PORT = 25; + + /// Constant for the default SMTP over ssl port number + const int32_t DEFAULT_SMTPS_PORT = 465; +}; + +[scriptable, uuid(87c36c23-4bc2-4992-b338-69f88f6ed0a1)] +interface nsIMailtoUrl : nsISupports { + /** + * mailto: parse specific getters + * + * All of these fields are things we can effectively extract from a + * mailto url if it contains all of these values + * + * Note: Attachments aren't available because that would expose a potential + * security hole (see bug 99055). + * + * These items are in one function as we only ever get them from the one + * place and all at the same time. + */ + void getMessageContents(out AUTF8String aToPart, out AUTF8String aCcPart, + out AUTF8String aBccPart, out AUTF8String aSubjectPart, + out AUTF8String aBodyPart, out AUTF8String aHtmlPart, + out ACString aReferencePart, + out AUTF8String aNewsgroupPart, + out MSG_ComposeFormat aFormat); + + /** + * These attributes are available should mailnews or extensions want them + * but aren't used by standard in mailnews. + */ + readonly attribute AUTF8String fromPart; + readonly attribute AUTF8String followUpToPart; + readonly attribute AUTF8String organizationPart; + readonly attribute AUTF8String replyToPart; + readonly attribute AUTF8String priorityPart; + readonly attribute AUTF8String newsHostPart; +}; |