Symbian3/SDK/Source/GUID-1F755804-70D6-5635-B2F7-06F03C8D4B74.dita
changeset 7 51a74ef9ed63
parent 0 89d6a7a84779
equal deleted inserted replaced
6:43e37759235e 7:51a74ef9ed63
       
     1 <?xml version="1.0" encoding="utf-8"?>
       
     2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
       
     3 <!-- This component and the accompanying materials are made available under the terms of the License 
       
     4 "Eclipse Public License v1.0" which accompanies this distribution, 
       
     5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
       
     6 <!-- Initial Contributors:
       
     7     Nokia Corporation - initial contribution.
       
     8 Contributors: 
       
     9 -->
       
    10 <!DOCTYPE concept
       
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
       
    12 <concept id="GUID-1F755804-70D6-5635-B2F7-06F03C8D4B74" xml:lang="en"><title>IMAP4
       
    13 MTM Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    14 <p>This section provides an overview of the Internet Message Access Protocol
       
    15 (IMAP4) MTM. </p>
       
    16 <section><title>Purpose</title> <p>Provides retrieval and management of email
       
    17 on a remote Internet Message Access Protocol (IMAP4) server. </p> </section>
       
    18 <section><title>Architectural relationships</title> <p>The Messaging Middleware
       
    19 architecture defines a framework in which modules (MTMs) can be implemented
       
    20 that provide support for particular messaging protocols. A client MTM provides
       
    21 the API for application engines to use the protocol. The IMAP4 MTM API provides
       
    22 the Client MTM API, plus supporting classes for IMAP4, see <xref href="GUID-9BB849A2-8F69-580D-8A52-C7002D919521.dita">Email
       
    23 Overview</xref>. </p> </section>
       
    24 <section><title>Description</title> <p>The API has two key concepts: IMAP4
       
    25 Client MTM, and IMAP4 service settings. </p> <p><b>IMAP4 Client MTM</b> </p> <p>The
       
    26 IMAP4 Client MTM provides IMAP-specific operations, the most important of
       
    27 which are synchronising with a remote server, or folder on a remote server.
       
    28 Some generic messaging operations, such as sending messages (for which you
       
    29 should use SMTP), are not supported by the MTM. Extra functions are provided
       
    30 for obtaining and setting IMAP4 service settings. </p> <p>The IMAP4 Client
       
    31 MTM class is <xref href="GUID-2DEC2EBD-EC94-3BAF-AD9D-8900FCD1CABE.dita"><apiname>CImap4ClientMtm</apiname></xref> and it does not support many
       
    32 of the generic functions defined by the <xref href="GUID-177AF50B-14EF-3C45-AE22-1FEE5678261D.dita"><apiname>CBaseMtm</apiname></xref> base class.
       
    33 The IMAP4 Client MTM implements the standard Client MTM APIs and extensions
       
    34 for the following operations: </p> <ul>
       
    35 <li id="GUID-BD531DC9-0308-5A6E-A6BD-8A21E7F83DD7"><p> <b>Connecting, disconnecting,
       
    36 synchronising, subscribing and unsubscribing folders </b>  </p> <p>These operations
       
    37 are accessible as commands available through the <xref href="GUID-41E5C23D-CD5A-3DD3-BFCE-F8C576CE2149.dita"><apiname>InvokeAsyncFunction</apiname></xref> class
       
    38 of the Client MTM. They are implemented as calls to the IMAP4 Server MTM. </p> </li>
       
    39 <li id="GUID-15A978DB-B7D0-5DD6-BE57-2A79B020B8FA"><p> <b>Send on next connection</b>  </p> <p>If
       
    40 the Client MTM gets a request to connect to an email server, it checks for
       
    41 the IMAP4 settings. . If the send on next connection option is set, the Client
       
    42 MTM launches the <filepath>autosend.exe</filepath> executable that handles
       
    43 sending messages waiting in the outbox. </p> </li>
       
    44 <li id="GUID-FD1C41EF-2B1D-5850-B14A-DC50CE94A053"><p> <b> Reply to and forward
       
    45 messages</b>  </p> <p>These are accessible through the <xref href="GUID-4E0F9B6F-C46B-34BA-BB8C-0A75014D31FD.dita"><apiname>ReplyL()</apiname></xref> and <xref href="GUID-3BBE6922-4F08-36AB-BAA9-2F37D6819794.dita"><apiname>ForwardL()</apiname></xref> classes
       
    46 of a Client MTM and are implemented as calls to the email utilities <xref href="GUID-3F7DC1AB-D13C-31E9-967B-526AD72CD498.dita"><apiname>CImEmailOperation</apiname></xref> class. </p> </li>
       
    47 <li id="GUID-7F025996-0ABD-50DE-BC2F-908AE7D3AB7D"><p> <b>Reply to, forward,
       
    48 create new, create receipt and forward as attachment </b>  </p> <p>These are
       
    49 accessible as commands available through the <xref href="GUID-41E5C23D-CD5A-3DD3-BFCE-F8C576CE2149.dita"><apiname>InvokeAsyncFunction</apiname></xref> class
       
    50 of the Client MTM. They are implemented as calls to <xref href="GUID-3F7DC1AB-D13C-31E9-967B-526AD72CD498.dita"><apiname>CImEmailOperation</apiname></xref>. </p> </li>
       
    51 <li id="GUID-78221799-2E57-5082-A66E-FF19BACD90AF"><p> <b>Querying connection
       
    52 status</b>  </p> <p>These commands let clients know whether the IMAP4 Server
       
    53 MTM is connected to an email server and whether it is currently processing
       
    54 a request. They are available through the <xref href="GUID-41E5C23D-CD5A-3DD3-BFCE-F8C576CE2149.dita"><apiname>InvokeAsyncFunction</apiname></xref> class
       
    55 of the Client MTM. The Client MTM requests the information from the Server
       
    56 MTM. </p> </li>
       
    57 <li id="GUID-850927D5-5A35-5468-904A-EA71FE11C5F8"><p> <b>Compound connection
       
    58 and synchronisation </b>  </p> <p>The IMAP4 Client MTM provides a compound
       
    59 operation that connects and synchronises with an IMAP4 server. This operation
       
    60 is implemented as a client-side object that combines requests to the IMAP4
       
    61 Server MTM. The client-side operation can complete the client request either:
       
    62 after the connection; after the connection and synchronisation; or after the
       
    63 connection, synchronisation, and disconnection. The client keeps requesting
       
    64 that the inbox be resynchronised at a configurable interval so new messages
       
    65 received in the inbox on the server appears under the IMAP4 inbox. The <xref href="GUID-1D7F2733-BC6F-30EA-A40D-C8573545CCB0.dita"><apiname>CImapConnectAndSyncOp</apiname></xref> class
       
    66 handles these compound operations. </p> </li>
       
    67 <li id="GUID-F666A79F-9623-5E93-8CB0-133CAA07FE83"><p> <b>Compound connect
       
    68 and copy, move or populate messages </b>  </p> <p>The IMAP4 Client MTM provides
       
    69 a compound operation that connects to an IMAP4 server and copies, moves, or
       
    70 populates messages. The implementation is provided by the <xref href="GUID-B9209668-D191-35F0-A02A-DABD6B1A706C.dita"><apiname>CImImap4GetMail</apiname></xref> class
       
    71 which makes callbacks into the IMAP4 Client MTM. </p> </li>
       
    72 <li id="GUID-1C58BE15-59F9-5915-8F5F-01374C87D071"><p> <b> Offline operations</b>  </p> <p>The
       
    73 IMAP4 Client MTM has a command to cancel offline operations. This is available
       
    74 through the <xref href="GUID-41E5C23D-CD5A-3DD3-BFCE-F8C576CE2149.dita"><apiname>InvokeAsyncFunction</apiname></xref> API of the Client MTM.
       
    75 The Client MTM passes the request to the Server MTM. </p> </li>
       
    76 </ul> <p><b>IMAP4 service settings</b> </p> <p>Settings for a service are
       
    77 associated with a service-type entry in the Message Server's Message Store.
       
    78 IMAP service settings, such as the user name and password, synchronisation
       
    79 strategy, and the maximum number of messages to synchronise are specified
       
    80 in this object. This is used by many IMAP components. </p> <p>The settings
       
    81 are loaded when a connection is made to the server. However, the settings
       
    82 are not actually stored in the message store, but in the device's Central
       
    83 Repository data store. </p> <p>Encapsulation of service settings is provided
       
    84 by the <xref href="GUID-55F11633-988C-39D5-ADE7-23C4966FD995.dita"><apiname>CImImap4Settings</apiname></xref> class. </p> <p><b>Get mail helper</b> </p> <p>The
       
    85 helper wraps up many individual IMAP operations into a single call. A large
       
    86 number of options are available, which fall into the following groups: </p> <ul>
       
    87 <li id="GUID-CFAEF51C-65F1-5AC4-BF2D-DFEACA5899A7"><p>get mail when already
       
    88 connected </p> </li>
       
    89 <li id="GUID-D9BBC7C4-24C8-5E99-A2A9-CFA1214734C4"><p>connect, get mail and
       
    90 then disconnect </p> </li>
       
    91 <li id="GUID-C3FB09F4-09F4-5E97-9269-91A0E4AD03E5"><p>connect, get mail and
       
    92 then stay online </p> </li>
       
    93 </ul> <p>The get mail helper class is <xref href="GUID-B9209668-D191-35F0-A02A-DABD6B1A706C.dita"><apiname>CImImap4GetMail</apiname></xref>. </p> </section>
       
    94 </conbody><related-links>
       
    95 <link href="GUID-8B843382-D27A-5E36-8F60-304903F3AA41.dita"><linktext>Message Type
       
    96 Module</linktext></link>
       
    97 <link href="GUID-24860917-0FE2-5C8F-B436-96928350996E.dita"><linktext>Bearer Mobility
       
    98 Overview</linktext></link>
       
    99 <link href="GUID-E56E21A9-B545-5217-A877-E64D30275157.dita"><linktext>Using the
       
   100 Policy Evaluator Plug-in</linktext></link>
       
   101 <link href="GUID-931F2B0C-0F7D-5819-83AF-8EC2C8988538.dita"><linktext>Email   
       
   102              Settings</linktext></link>
       
   103 <link href="GUID-8832AED4-6B9F-5B35-8211-0C6661CD6DCA.dita"><linktext>Email Tutorials</linktext>
       
   104 </link>
       
   105 <link href="GUID-D73AD200-BE4D-50BF-BCF9-14627DE530B7.dita"><linktext>Example code</linktext>
       
   106 </link>
       
   107 </related-links></concept>