diff -r e8c1ea2c6496 -r 8758140453c0 email/email/smtp/src/T_SmtpSendEmail.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/email/email/smtp/src/T_SmtpSendEmail.cpp Thu Jan 21 12:53:44 2010 +0000 @@ -0,0 +1,207 @@ +// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of the License "Symbian Foundation License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// [TestStep Name] +// SmtpSendEmail +// [Parameters] +// sender : User name of email sender +// recipient : User name of email recipient +// mailFile : Path of the meta data file to check +// serverIP : IP address of SMTP server +// This test step will send an email from to with the contents +// of as message body using the SMTP server specified by . +// [APIs Used] +// RFile::Open +// RFile::Read +// CImTextServerSession::QueueConnectL +// CImTextServerSession::Send +// CImTextServerSession::QueueReceiveNextTextLine +// CImTextServerSession::GetCurrentTextLine +// CImTextServerSession::Disconnect +// CImIAPPreferences::NewLC +// +// + + + +/** + @file +*/ + + +//User includes +#include +#include "T_UtilsSendEmail.h" +#include "T_SmtpSendEmail.h" + + +// Literals Used +_LIT(KSender,"Sender"); +_LIT(KRecipient,"Recipient"); +_LIT(KMailFile,"MailFile"); +_LIT(KServerIP,"ServerIP"); + + +/** +CT_MsgSmtpSendEmail() +Constructor + +@param aSharedDataSMTP +*/ +CT_MsgSmtpSendEmail::CT_MsgSmtpSendEmail(CT_MsgSharedDataSmtp& aSharedDataSMTP) +: CT_MsgAsyncStepSMTP(aSharedDataSMTP) + { + SetTestStepName(KSmtpSendEmail); + } + +/** +NewL() +Static factory constructor. Uses two phase +construction. + +@param aSharedDataSMTP +@leave KErrNoMemory +@return +A pointer to the newly created CT_MsgSendSmtpMessage object. +*/ +CT_MsgSmtpSendEmail* CT_MsgSmtpSendEmail::NewL(CT_MsgSharedDataSmtp& aSharedDataSMTP) + { + CT_MsgSmtpSendEmail* self = new(ELeave) CT_MsgSmtpSendEmail(aSharedDataSMTP); + CleanupStack::PushL(self); + self->ConstructL(); // Call CT_AsyncStep::ConstructL() + CleanupStack::Pop(self); + return self; + } + + +/** +~CT_MsgSmtpSendEmail() +Destructor +*/ +CT_MsgSmtpSendEmail::~CT_MsgSmtpSendEmail() + { + if(iSendEmail!=NULL) + { + delete iSendEmail; + iSendEmail = NULL; + } + + if(iMachineNameFile!=NULL) + { + delete iMachineNameFile; + iMachineNameFile = NULL; + } + } + + +/** +ProgressL() + +*/ +void CT_MsgSmtpSendEmail::ProgressL(TBool bFinal) + { + // TODO + if ( bFinal ) + { + // Display final progress iSendEmail + } + else + { + // Display current progress iSendEmail + } + } + +/** +CancelStep() + +*/ +void CT_MsgSmtpSendEmail::CancelStep() + { + // TODO cancel iSendEmail + } + + +/** +doTestStepL() +Reads the parent folder name, the message subject from the ini file +Searches for the message under the specified folder, and sends the message + +@return +Returns the test step result +*/ +TVerdict CT_MsgSmtpSendEmail::doTestStepL() + { + INFO_PRINTF1( _L("Test Step : Smtp Send Email") ); + TPtrC8 string8Ptr; + TPtrC stringPtr = KNone(); + // Gets the machine name of the system + if(iMachineNameFile==NULL) + { + iMachineNameFile = CT_MsgUtilsConfigFileMachineName::NewL(stringPtr); + } + + TPtrC8 machineName(iMachineNameFile->MachineName()); + + // Read the username of the email sender from the ini file + TPtrC sender; + if(!GetStringFromConfig( ConfigSection(), KSender, sender)) + { + ERR_PRINTF1(_L("Sender is not specified")); + SetTestStepResult(EFail); + } + else + { + // Read the username of the email recipient from the ini file + TPtrC recipient; + if( !GetStringFromConfig(ConfigSection(),KRecipient,recipient )) + { + ERR_PRINTF1(_L("Recipient is not specified")); + SetTestStepResult(EFail); + } + else + { + // Read the path of the mailfile from the ini file + TPtrC mailFile; + if( !GetStringFromConfig(ConfigSection(),KMailFile,mailFile )) + { + ERR_PRINTF1(_L("MailFile is not specified")); + SetTestStepResult(EFail); + } + else + { + // Read the server IP address from the ini file + TPtrC serverIP; + if( !GetStringFromConfig(ConfigSection(),KServerIP,serverIP )) + { + ERR_PRINTF1(_L("ServerIP is not specified")); + SetTestStepResult(EFail); + } + else + { + if(iSendEmail==NULL) + { + iSendEmail = CT_MsgUtilsSendEmail::NewL(*this); + } + + CT_MsgActive& active=Active(); + iSendEmail->StartL(sender,recipient,mailFile,serverIP, active.iStatus); + active.Activate(); + CActiveScheduler::Start(); + User::LeaveIfError(active.Result()); + } + } + } + } + + return TestStepResult(); + }