settings of SMS, MMS, E-Mail ??
| Thu, 2004-01-29 09:30 | |
|
Hi
I came to know that the settings of SMS, MMS, E-Mail etc are stored in c\system\Mail\00001000 c\system\Mail\00100000 c\system\Mail\00100000_S c\system\Mail\00100001_S c\system\Mail\Index etcÂ…. But what is the format of these files. How to read/ write data to these files Programmability. How to set /Get all the settings Could anybody help Me. Is there any documentation available !, Thanks in advance MeenuJ |
|






check this link to retrieve additional documentation on internet mail settings:
http://www.symbian.com/developer/downloads/files/InternetMail.chm
I'm working to create a new POP3+SMTP account, but seems to me that on Symbian 6.1 SDK some described classes are missed.
If U have some tips concerning this issue, let me know please.
Fab
Forum posts: 1
There are ini files found in z\system\shareddata which contain settings data e.g., for MMS serivce the exact file is:
z\system\shareddata\100058C5.ini
and it contains
SentInUse=1
SentCount=20
Mem=2
R-AVFooter=http://www.nokia.com/support/phones/3650
values. So for example SetInUse is used to tell the MTM weather to save the MMS after it has been delivered by the server to an access point.
Forum posts: 70
Thanks alot for the reply. I am looking fo
How to change the configurations of message settings through program. ( Messages ->Options -> Settings)
How to create a new mailbox and set 'Mail box name', 'Access point in use' etc.. through program.
Thanks
MeenuJ
Forum posts: 5
Are you successful? Could you let me know the details?
Thanks
Forum posts: 11
It retreives all imap/pop3 info ( + email address from the related smtp service).
Yes it logs to console and no you can't cut and paste everything straight but the idea is in
there and it works.
const CMsvSession* session = CMsvSession::OpenSyncL(*this);
//Pop3
TMsvId id;
TRAPD(err,id = FindServiceL(KUidMsgTypeIMAP4,*session));
TMsvId CComm::FindServiceL(TUid aType, const CMsvSession& aSession)
{
// select the root index to start the search
CMsvEntry* currentEntry = aSession.GetEntryL(KMsvRootIndexEntryId);
CleanupStack::PushL(currentEntry);
// don't sort the entries
currentEntry->SetSortTypeL(TMsvSelectionOrdering(KMsvNoGrouping,EMsvSortByNone, ETrue));
TMsvId rc = KMsvRootIndexEntryId;
TInt count=currentEntry->Count();
// loop for every child entry of the root index
for(TInt i = 0;i<count;i++)
{
const TMsvEntry& child = (*currentEntry)[i];
// is the current child the same type as the type we are looking for ?
if (child.iMtm == aType)
{
CClientMtmRegistry* reg = CClientMtmRegistry::NewL(aSession);
CleanupStack::PushL(reg);
//Pop3||Pop4 depending on arg
CPop3ClientMtm* pop3Mtm = 0;
CImap4ClientMtm* imap4Mtm = 0;
if(KUidMsgTypePOP3==aType)
{
pop3Mtm = static_cast<CPop3ClientMtm*>(reg->NewMtmL(KUidMsgTypePOP3));
CleanupStack::PushL(pop3Mtm);
pop3Mtm->SwitchCurrentEntryL(child.iServiceId);
pop3Mtm->RestoreSettingsL();
CImPop3Settings* pop = new (ELeave) CImPop3Settings();
CleanupStack::PushL(pop);
pop->CopyL(pop3Mtm->Settings());
TPtrC ptr = pop->ServerAddress();
if(ptr.Length()>0){
_LIT(KSAddress,"Address: %S\n");
HBufC* tmp = HBufC::NewLC(KSAddress().Length()+ptr.Length());
TPtr tmpPtr = tmp->Des();
tmpPtr.Format(KSAddress,&ptr);
iConsole->Printf(*tmp);
CleanupStack::PopAndDestroy(tmp);
}
TPtrC8 ptr8 = pop->LoginName();
//16 bit go
HBufC* s5n = HBufC::NewLC(ptr8.Length());
TPtr ptr16 = s5n->Des();
ptr16.Copy(ptr8);
if(ptr8.Length()>0){
_LIT(KUser,"User: %S\n");
HBufC* tmp = HBufC::NewLC(KUser().Length()+ptr8.Length());
TPtr tmpPtr = tmp->Des();
tmpPtr.Format(KUser,&ptr16);
iConsole->Printf(*tmp);
CleanupStack::PopAndDestroy(tmp);
}
CleanupStack::PopAndDestroy(s5n);
const TPtrC8 pass = pop->Password();
HBufC* p7d = HBufC::NewLC(pass.Length());
TPtr ptr16_2 = p7d->Des();
ptr16_2.Copy(pass);
if(pass.Length()>0){
_LIT(KPass,"Pass: %S\n");
HBufC* tmp = HBufC::NewLC(KPass().Length()+pass.Length());
TPtr tmpPtr = tmp->Des();
tmpPtr.Format(KPass,&ptr16_2);
iConsole->Printf(*tmp);
CleanupStack::PopAndDestroy(tmp);
}
CleanupStack::PopAndDestroy(p7d);
CleanupStack::PopAndDestroy(pop);
}else if(KUidMsgTypeIMAP4==aType){
imap4Mtm = static_cast<CImap4ClientMtm*>(reg->NewMtmL(KUidMsgTypeIMAP4));
CleanupStack::PushL(imap4Mtm);
imap4Mtm->SwitchCurrentEntryL(child.iServiceId);
imap4Mtm->RestoreSettingsL();
CImImap4Settings* imap = new (ELeave) CImImap4Settings();
CleanupStack::PushL(imap);
imap->CopyL(imap4Mtm->Imap4Settings());
TPtrC ptr = imap->ServerAddress();
if(ptr.Length()>0){
_LIT(KSAddress,"Address: %S\n");
HBufC* tmp = HBufC::NewLC(KSAddress().Length()+ptr.Length());
TPtr tmpPtr = tmp->Des();
tmpPtr.Format(KSAddress,&ptr);
iConsole->Printf(*tmp);
CleanupStack::PopAndDestroy(tmp);
}
TPtrC8 ptr8 = imap->LoginName();
//16 bit go
HBufC* s5n = HBufC::NewLC(ptr8.Length());
TPtr ptr16 = s5n->Des();
ptr16.Copy(ptr8);
if(ptr8.Length()>0){
_LIT(KUser,"User: %S\n");
HBufC* tmp = HBufC::NewLC(KUser().Length()+ptr8.Length());
TPtr tmpPtr = tmp->Des();
tmpPtr.Format(KUser,&ptr16);
iConsole->Printf(*tmp);
CleanupStack::PopAndDestroy(tmp);
}
CleanupStack::PopAndDestroy(s5n);
const TPtrC8 pass = imap->Password();
HBufC* p7d = HBufC::NewLC(pass.Length());
TPtr ptr16_2 = p7d->Des();
ptr16_2.Copy(pass);
if(pass.Length()>0){
_LIT(KPass,"Pass: %S\n");
HBufC* tmp = HBufC::NewLC(KPass().Length()+pass.Length());
TPtr tmpPtr = tmp->Des();
tmpPtr.Format(KPass,&ptr16_2);
iConsole->Printf(*tmp);
CleanupStack::PopAndDestroy(tmp);
}
CleanupStack::PopAndDestroy(p7d);
CleanupStack::PopAndDestroy(imap);
}else{
User::Leave(KErrArgument);
}
//This is actually the NAME of the email account - weird but true
if(child.iDetails.Length()>0){
_LIT(KDes,"Des: %S\n");
HBufC* tmp = HBufC::NewLC(KDes().Length()+child.iDetails.Length());
TPtr tmpPtr = tmp->Des();
tmpPtr.Format(KDes,&child.iDetails);
iConsole->Printf(*tmp);
CleanupStack::PopAndDestroy(tmp);
}
//SMTP
//smtp settings, necessary to get the email addy ( is the related service to the pop3||imap4 one)
CSmtpClientMtm* smtpMtm = static_cast<CSmtpClientMtm*>(reg->NewMtmL(KUidMsgTypeSMTP));
CleanupStack::PushL(smtpMtm);
if(pop3Mtm){
smtpMtm->SwitchCurrentEntryL(pop3Mtm->Entry().Entry().iRelatedId);
}else if(imap4Mtm){
smtpMtm->SwitchCurrentEntryL(imap4Mtm->Entry().Entry().iRelatedId);
}
smtpMtm->RestoreSettingsL();
CImSmtpSettings* smtp = new (ELeave) CImSmtpSettings();
CleanupStack::PushL(smtp);
smtp->CopyL(smtpMtm->Settings());
TPtrC emailPtr = smtp->EmailAddress();
//SMTP email addy
if(emailPtr.Length()>0){
_LIT(KEAddress,"Email address: %S\n");
HBufC* tmp = HBufC::NewLC(KEAddress().Length()+emailPtr.Length());
TPtr tmpPtr = tmp->Des();
tmpPtr.Format(KEAddress,&emailPtr);
iConsole->Printf(*tmp);
CleanupStack::PopAndDestroy(tmp);
}
CleanupStack::PopAndDestroy(smtp);
CleanupStack::PopAndDestroy(smtpMtm);
if(pop3Mtm){
CleanupStack::PopAndDestroy(pop3Mtm);
}else if(imap4Mtm){
CleanupStack::PopAndDestroy(imap4Mtm);
}
CleanupStack::PopAndDestroy(reg);
rc=child.Id();
}
}//for
CleanupStack::PopAndDestroy(currentEntry);
// return the service id of the type if found.
// otherwise return the root index
return rc;
}