📄 release_notes.txt
字号:
About S60 Platform: POP/IMAP Example v1.1
-----------------------------------------------------------------------------
This example application shows how to retrieve e-mail from a remote mailbox
to a S60 mobile device. The example application contains both IMAP and
POP implementations, which differ only slightly from each other due to
the generic messaging framework in Symbian OS.
The example has a complete user interface and offers rich functionality for
the user because it uses the generic messaging architecture views through
UiMtm->OpenL(). This means that the user can send, edit, and delete e-mail
in a similar way as with a built-in messaging application.
An example on how to use CAknWaitDialog and CAknInformationNote is included.
The example application also shows how to get the correct MTM context for
a message entry. Pointer is used to cast a derived class to a base class
(CBaseMtm) so that the identity and members of the derived class are
preserved. Either POP or IMAP utilizing the same code can be used.
This example application is of intermediate level.
-----------------------------------------------------------------------------
PREREQUISITES
-Symbian C++ basics
-For protocol details, refer to the following specifications at
http://www.ietf.org/rfc.html:
IMAP4: RFC-2060
POP3: RFC-1939
-----------------------------------------------------------------------------
IMPORTANT FILES/CLASSES
CInternetEmailEngine.cpp - Main state handler module
CInternetEmailContainer.cpp - Main UI module
-----------------------------------------------------------------------------
KNOWN ISSUES
Generic messaging architecture support - some features of this
architecture are not supported in this example application:
If a message is deleted using this example application, the view
is not updated, that is, it does not show that the message has been
deleted. However, the deleted message will disappear in the next
synchronization.
If an e-mail is forwarded with this example application, a note
"Message box in use" appears on the screen.
Incorrect service settings and corrupted MTM indexes:
If the user has changed, for example, the IMAP settings in the
middle of an operation and then tries to fetch the body of a message
whose header has been retrieved with the old settings, the outcome
is not defined. This example application does not handle the
situation in a safe way.
Server issues:
This example has been tested against several common IMAP [port 143]
and POP [port 110] servers.
NOTE: All tests were conducted without using extended authentication
methods, such as APOP. This should not cause any problems since
the extended authentication methods are supported by the device
protocol stacks.
Common IMAP servers with IMAP4REV1 capability should work without
problems. If the IMAP protocol is used on certain servers, the call
chain generated from UiMtm->OpenL() will deadlock in the part where
the progress dialog shows "updating inbox". The workaround solution
is to use another server and/or different server settings or only
the POP protocol.
-----------------------------------------------------------------------------
PRECONDITIONS AND CONFIGURATION
The following settings must be configured for the example application:
Internet access point with TCP/IP (note that WAP settings are not
sufficient). The Internet access point is usually received from the operator.
It might even be a built-in feature of the device (such as in the Nokia 6600
in some countries), or it can be set manually in the device抯 control panel
from Tools->Settings->Connections->Access points. If necessary, refer to the
user抯 guide of the device.
IMAP/POP settings in the built-in messaging application:
Messaging->Mailbox->Settings.
NOTE 1: This example application always uses the first IMAP and/or POP
service entry that has been set. This means that you can have more than one
service entry of each type but only the first one of the given type is used.
NOTE 2: The minimum e-mail service settings you need are username,
password, and the URL of the receiving server. The protocol type must be
either IMAP or POP. All other fields can contain the default value or any
strings. However, the configuration must correspond with the used e-mail
server and the features it supports. If you want to send e-mail using the
generic view, remember also to set the sending server, which should be the
SMTP server.
-----------------------------------------------------------------------------
RUNNING THE EXAMPLE
After you have configured the Internet and e-mail service settings, open the
example application. You should see a blank screen with two basic choices:
"Options" and "Back".
Select the protocol to be used from "Options->Set Protocol->POP3/IMAP4". If
you have already retrieved messages to your local inbox, those messages
should appear. Otherwise the screen is blank except for the new options
"Exit" and "Get Mail".
To retrieve message headers from your remote inbox, select "Get Mail". This
feature needs an Internet connection. Retrieving messages may be time-
consuming, that is, the more messages there are in the remote mailbox, the
longer it takes. For this reason the example application draws a modal
progress dialog (CAknWaitDialog) on the screen.
To edit, view, send, or retrieve message bodies for a given header, select
the message from the listbox in the main view and click the OK/Selection
button.
-----------------------------------------------------------------------------
BUILD AND INSTALLATION INSTRUCTIONS
To build and install the example application, follow the standard
procedures for installing Symbian OS applications.
--Mobile device (S60 3rd Edition)
cd to /InternetEmail/group/
bldmake bldfiles
abld build gcce urel
cd to /InternetEmail/sis/
makesis InternetEmail_v30_gcce.pkg InternetEmail_v30.sis
Sign the SIS package
e.g. Signsis InternetEmail_v30.sis InternetEmail_v30.sis
DevCert_xx.cer Access.key 12345678
Install the signed SIS package to the device
--Mobile device (S60 2nd Edition)
cd to /InternetEmail/group/
bldmake bldfiles
abld build thumb urel
cd to /InternetEmail/sis/
makesis InternetEmail_v20.pkg InternetEmail_v20.sis
Install the SIS file to the device
--Emulator
cd to /InternetEmail/group/
bldmake bldfiles
abld build winscw udeb
Start the emulator
-----------------------------------------------------------------------------
COMPATIBILITY
(S60 1st Edition)
S60 2nd Edition
S60 3rd Edition
Tested on Nokia 6680 and Nokia E60.
-----------------------------------------------------------------------------
NOTES ON PORTING TO S60 3RD EDITION
-Separate .mmp and InternetEmail_reg.rss created.
-.pkg files for armv5 and gcce created.
-icons_aif.mk created.
-internetemail.rls replaced internetemail.loc (+ resource file names
defined in the .rls file).
-EKA2 definition into the bld.inf file added to separate S60 2nd and 3rd Edition
(for selecting the correct .mmp and the icon makefile).
Changes to the .mmp file:
-Target changed from .app to .exe.
-Resource definitions changed.
-VendorId 0x0 added.
-capabilities ReadUserData, WriteUserData, ReadDeviceData,
WriteDeviceData, and NetworkServices added.
Changes to the source code:
-InternetEmailApp.cpp:
E32Main function added (application started from eikstart.h)
+ conditional compiling macros to support both S60 3rd Edition
and previous platforms.
This example application has been used as an example in the document
S60 Platform: Porting From 2nd To 3rd Edition available at www.forum.nokia.com.
-----------------------------------------------------------------------------
VERSION HISTORY
1.0 First release
1.1 Application updated to support S60 3rd Edition
-----------------------------------------------------------------------------
Evaluate This Resource
Please spare a moment to help us improve documentation quality and recognize the
resources you find most valuable, by rating this resource at
http://www.forum.nokia.com/main/1%2C%2C90%2C00.html?surveyId=438fe5a5-71cc-4138-a6b3-f61e79e73e95/S60_Platform_POP_IMAP_Example_v1_1.zip
-----------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -