author calbld
Fri, 27 Apr 2012 11:24:12 -0700
changeset 11275 20e5341d941da3028cd122432e82e0e2b5c255b9
parent 10275 323b7de4b3999795e68cdfed66f9a1ea3789c81b
child 12286 84ac3c71109811da751f0ef2d72108075938f094
permissions -rw-r--r--
Automated checkin: version bump remove "pre" from version number for lightning 1.5b1 release on CAL130_20120427_RELBRANCH CLOSED TREE a=release

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** BEGIN LICENSE BLOCK *****
 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
 * The contents of this file are subject to the Mozilla Public License Version
 * 1.1 (the "License"); you may not use this file except in compliance with
 * the License. You may obtain a copy of the License at
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 * for the specific language governing rights and limitations under the
 * License.
 * The Original Code is code.
 * The Initial Developer of the Original Code is
 * Netscape Communications Corporation.
 * Portions created by the Initial Developer are Copyright (C) 1998
 * the Initial Developer. All Rights Reserved.
 * Contributor(s):
 *   Eric Ballet Baz BT Global Services / Etat francais Ministere de la Defense
 * Alternatively, the contents of this file may be used under the terms of
 * either of the GNU General Public License Version 2 or later (the "GPL"),
 * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
 * in which case the provisions of the GPL or the LGPL are applicable instead
 * of those above. If you wish to allow use of your version of this file only
 * under the terms of either the GPL or the LGPL, and not to allow others to
 * use your version of this file under the terms of the MPL, indicate your
 * decision by deleting the provisions above and replace them with the notice
 * and other provisions required by the GPL or the LGPL. If you do not delete
 * the provisions above, a recipient may use your version of this file under
 * the terms of any one of the MPL, the GPL or the LGPL.
 * ***** END LICENSE BLOCK ***** */

#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 PRInt32 DEFAULT_SMTP_PORT = 25;

  /// Constant for the default SMTP over ssl port number
  const PRInt32 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;