settings of SMS, MMS, E-Mail ??

Login to reply to this topic.
Thu, 2004-01-29 09:30
Joined: 2003-07-22
Forum posts: 70
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

Tue, 2004-02-03 15:49
Anonymous (not verified)
Forum posts: 2043
settings of SMS, MMS, E-Mail ??
Hi,

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. Huh

If U have some tips concerning this issue, let me know please.

Fab
Fri, 2004-02-06 23:35
Joined: 2004-02-06
Forum posts: 1
settings of SMS, MMS, E-Mail ??
Which settings are you talking about?

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.
Mon, 2004-02-09 10:17
Joined: 2003-07-22
Forum posts: 70
settings of SMS, MMS, E-Mail ??
Hi Nomi

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
Thu, 2005-06-16 12:46
Joined: 2005-06-09
Forum posts: 5
Re: settings of SMS, MMS, E-Mail ??
Hi,
Are you successful? Could you let me know the details?

Thanks
Tue, 2006-07-11 14:40
Joined: 2005-08-20
Forum posts: 11
Re: settings of SMS, MMS, E-Mail ??
Hopefuly this will be useful to somebody.
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;
  }
  • Login to reply to this topic.