We can use following Exchange PowerShell cmdlet to grant a Service Account full access to all the mailboxes on Exchange Server 2007 mailboxstore, but do so only in accordance with your organization's security and privacy policies:
Get-mailboxserver <servername> | add-adpermission –user <service account> -accessrights GenericRead,
GenericWrite -extendedrights Send-As, Receive-As, ms-Exch-Store-Admin
We need to modify <servername> as the Exchange Server name and <service account> as the account for which we would like to grant access.
If you have further questions related to Exchange 2007 Permissions then please refer to
Exchange 2007 Permissions: Frequently Asked Questions
And if you writing a custom application using EWS or Exchange Web Services Managed API for Exchange 2007 then you can also have look at nice post @ Exchange Impersonation vs Delegate Access. which explain difference between Exchange Impersonation and Delegate Access to access an Exchange mailbox using Exchange Web Services.