Revision as of 08:30, 14 June 2012 by hamishwillee (Talk | contribs)

Creating e-mail accounts in Symbian C++

From Nokia Developer Wiki
Jump to: navigation, search

Article Metadata
Platform(s): S60 3rd Edition
S60 3rd Edition (initial release)
Created: User:Technical writer 2 (19 Oct 2006)
Last edited: hamishwillee (14 Jun 2012)


Creating e-mail accounts in code


Symbian OS v9.1 offers a new API for easy e-mail (POP3, IMAP4) account creation. The CEmailAccounts API creates an account for incoming messages as well as for outgoing messages (SMTP) and assigns these two together to form a working account pair.
Here is a simple example on how to use this API:
#include <cemailaccounts.h>
TMsvId pop3Id;
TMsvId smtpId;
iPop3Mtm = static_cast<CPop3ClientMtm*>(iReg->NewMtmL(KUidMsgTypePOP3));
iSmtpMtm = static_cast<CSmtpClientMtm*>(iReg->NewMtmL(KUidMsgTypeSMTP));
CEmailAccounts* accounts = CEmailAccounts::NewLC();
// Create CImPop3Settings and CImSmtpSettings objects and insert your account settings.
// This step is omitted here for brevity.
// You also need to define a CImIAPPreferences object for the IAP to use with this account.
// This example does not show how to fill in the IAP UID into apUid. One possibility is to read this value from the
// CommsDB IAP table by a bearer.
TUint32 apUid;
// Create a new IAPChoice for the IAPPreferences object
TImIAPChoice apChoice;
apChoice.iIAP = apUid;  //store IAP id
apChoice.iDialogPref = ECommDbDialogPrefPrompt; //prompt dialog
apPrefs = CImIAPPreferences::NewLC();
// Now create actual services
TPopAccount popAcc;
popAcc = accounts->CreatePopAccountL(_L("POP3 acco"), *iPOP3Settings, *apPrefs, EFalse);
TSmtpAccount smtpAcc;
smtpAcc = accounts->CreateSmtpAccountL(popAcc, *iSmtpSettings, *apPrefs, EFalse);
pop3Id = popAcc.iPopService;
smtpId = smtpAcc.iSmtpService;
// Finally, this line sets the new SMTP service as the default sending service.

88 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.


Thank you!

We appreciate your feedback.