--- /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 <sender> to <recipient> with the contents
+// of <mailfile> as message body using the SMTP server specified by <serverIP>.
+// [APIs Used]
+// RFile::Open
+// RFile::Read
+// CImTextServerSession::QueueConnectL
+// CImTextServerSession::Send
+// CImTextServerSession::QueueReceiveNextTextLine
+// CImTextServerSession::GetCurrentTextLine
+// CImTextServerSession::Disconnect
+// CImIAPPreferences::NewLC
+//
+//
+
+
+
+/**
+ @file
+*/
+
+
+//User includes
+#include <t_utilsconfigfilemachinename.h>
+#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();
+ }