LOCAL_C void ResetSettingsL(TBool aSecureSocket) { _LIT(KSmtpServer, "smtp.demon.co.uk"); _LIT(KSmtpEmailAlias, "SMTP STARTTLS"); _LIT(KSmtpEmailAddress, "<a@b>"); // Overwrite the setings with test code one. Don't want the default settings. CImSmtpSettings* settings = new(ELeave) CImSmtpSettings(); CleanupStack::PushL(settings); CEmailAccounts* accounts = CEmailAccounts::NewLC(); TSmtpAccount smtpAccountId; accounts->GetSmtpAccountL(smtpService,smtpAccountId); accounts->LoadSmtpSettingsL(smtpAccountId, *settings); settings->SetServerAddressL(KSmtpServer); settings->SetEmailAliasL(KSmtpEmailAlias); settings->SetEmailAddressL(KSmtpEmailAddress); settings->SetReplyToAddressL(KSmtpEmailAddress); settings->SetBodyEncoding(EMsgOutboxMIME); settings->SetReceiptAddressL(KSmtpEmailAddress); settings->SetSecureSockets(aSecureSocket); settings->SetPort(25); accounts->SaveSmtpSettingsL(smtpAccountId, *settings); CleanupStack::PopAndDestroy(2, settings); //settings, store/accounts }
/** ReadSmtpSettingsFromConfigurationFileL() Modifies the POP related default setting and IAP objects. @param aSettingsFile Configuration/setting file path. @param aSmtpSet @param aSmtpIapPref */ EXPORT_C void CT_MsgUtilsReadEmailSettingsFromConfigFile::ReadSmtpSettingsFromConfigurationFileL(TDesC& aSettingsFile, CImSmtpSettings& aSmtpSet, CImIAPPreferences& aSmtpIapPref,const TDesC&/* aPtrEmailAdd*/) { // Parses the setting file CT_MsgUtilsConfigFileParserUtility* scriptFileParser = CT_MsgUtilsConfigFileParserUtility::NewL(aSettingsFile); CleanupStack::PushL(scriptFileParser); TPtrC8 string8Ptr; TPtrC stringPtr = KNone(); TInt intValue; if(scriptFileParser->GetFieldAsString(KCfgSmtpServerAddress, stringPtr) == KErrNone) { aSmtpSet.SetServerAddressL(stringPtr); } CT_MsgUtilsConfigFileMachineName* machineNameFile = CT_MsgUtilsConfigFileMachineName::NewLC(stringPtr); TPtrC emailAddr(machineNameFile->MachineNameEmail()); TPtrC8 machineName(machineNameFile->MachineName()); if(scriptFileParser->GetFieldAsString(KCfgSmtpEmailAddress, stringPtr) == KErrNone) { aSmtpSet.SetEmailAddressL(stringPtr); } else { aSmtpSet.SetEmailAddressL(emailAddr); } if(scriptFileParser->GetFieldAsString(KCfgSmtpBodyEncoding, stringPtr) == KErrNone) { TMsgOutboxBodyEncoding setBodyEncoding = CT_MsgUtilsEnumConverter::ConvertDesToTMsgOutboxBodyEncoding(stringPtr); aSmtpSet.SetBodyEncoding(setBodyEncoding); } if(scriptFileParser->GetFieldAsString(KCfgSmtpReceiptAddress, stringPtr) == KErrNone) { aSmtpSet.SetReceiptAddressL(stringPtr); } else { aSmtpSet.SetReceiptAddressL(emailAddr); } if(scriptFileParser->GetFieldAsInteger(KCfgSmtpRequestReceipts, intValue) == KErrNone) { aSmtpSet.SetRequestReceipts((TBool) intValue); } if(scriptFileParser->GetFieldAsString(KCfgSmtpSendMessageOption, stringPtr) == KErrNone) { TImSMTPSendMessageOption setSendMessageOption = CT_MsgUtilsEnumConverter::ConvertDesToTImSMTPSendMessageOption(stringPtr); aSmtpSet.SetSendMessageOption(setSendMessageOption); } if(scriptFileParser->GetFieldAsInteger(KCfgSmtpSetPort, intValue) == KErrNone) { aSmtpSet.SetPort(intValue); } if(scriptFileParser->GetFieldAsString(KCfgSmtpEmailAlias, stringPtr) == KErrNone) { aSmtpSet.SetEmailAliasL(stringPtr); } if(scriptFileParser->GetFieldAsInteger(KCfgSmtpDefaultMsgCharSet, intValue) == KErrNone) { TUid tmp = { intValue }; aSmtpSet.SetDefaultMsgCharSet(tmp); } if(scriptFileParser->GetFieldAsString(KCfgSmtpSetReplyToAddress, stringPtr) == KErrNone) { aSmtpSet.SetReplyToAddressL(stringPtr); } else { aSmtpSet.SetReplyToAddressL(emailAddr); } if(scriptFileParser->GetFieldAsInteger(KCfgSmtpSetAddVCardToEmail, intValue) == KErrNone) { aSmtpSet.SetAddVCardToEmail((TBool) intValue); } if(scriptFileParser->GetFieldAsInteger(KCfgSmtpSetAddSignatureToEmail, intValue) == KErrNone) { aSmtpSet.SetAddSignatureToEmail((TBool) intValue); } if(scriptFileParser->GetFieldAsString(KCfgSmtpSetSendCopyToSelf, stringPtr) == KErrNone) { TImSMTPSendCopyToSelf setSMTPSendCopyToSelf = CT_MsgUtilsEnumConverter::ConvertDesToTImSMTPSendCopyToSelf(stringPtr); aSmtpSet.SetSendCopyToSelf(setSMTPSendCopyToSelf); } if(scriptFileParser->GetFieldAsString8(KCfgSmtpSetLoginName, string8Ptr) == KErrNone) { aSmtpSet.SetLoginNameL(string8Ptr); } else { aSmtpSet.SetLoginNameL(machineName); } if(scriptFileParser->GetFieldAsString8(KCfgSmtpSetPassword, string8Ptr) == KErrNone) { aSmtpSet.SetPasswordL(string8Ptr); } else { aSmtpSet.SetPasswordL(machineName); } if(scriptFileParser->GetFieldAsInteger(KCfgSmtpSetSMTPAuth, intValue) == KErrNone) { aSmtpSet.SetSMTPAuth((TBool) intValue); } if(scriptFileParser->GetFieldAsInteger(KCfgSmtpSetInboxLoginDetails, intValue) == KErrNone) { aSmtpSet.SetInboxLoginDetails((TBool) intValue); } if(scriptFileParser->GetFieldAsInteger(KCfgSmtpSecureSockets, intValue) == KErrNone) { aSmtpSet.SetSecureSockets((TBool) intValue); } if(scriptFileParser->GetFieldAsInteger(KCfgSmtpSSLWrapper, intValue) == KErrNone) { aSmtpSet.SetSSLWrapper((TBool) intValue); } if(scriptFileParser->GetFieldAsString(KCfgSmtpIapList, stringPtr) == KErrNone) { ReadSmtpIAPAndAddL(scriptFileParser, KCfgSmtpIapList, aSmtpIapPref); } if(scriptFileParser->GetFieldAsInteger(KCfgSmtpSNAPId, intValue) == KErrNone) { aSmtpIapPref.SetSNAPL(intValue); } if(scriptFileParser->GetFieldAsInteger(KCfgSmtpBearerMobility, intValue) == KErrNone) { aSmtpSet.SetBearerMobility((TBool) intValue); } CleanupStack::PopAndDestroy(2,scriptFileParser); }