Revision control

Copy as Markdown

Other Tools

/* -*- 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;
/**
* The sender of this mail (can be different from identity).
*/
attribute string sender;
/**
* 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
*/
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;
};