return all the email addresses in Mail application

Want to return all the email addresses in Mail application. Have written a scrip that does half the job but if an account has more than one address it treats it as one.

This is my scrip any suggestions appreciated.

set emailAddressList to {}
tell application "Mail" to set numberOfAccounts to (count of accounts)
repeat with accountNumber from 1 to numberOfAccounts
	tell application "Mail"
		set theaccount to account accountNumber
		tell theaccount
			set eMailList to {email addresses}
			set end of emailAddressList to eMailList
		end tell
	end tell
	display dialog emailAddressList as string
end repeat
set listcount to number of items in emailAddressList
display dialog listcount
display dialog item 1 of emailAddressList as string

In my particular case I have 4 accounts one of which has 2 addressees so 5 addresses in total but the Display Dialog listcount only shows 4 the number of accounts I have not the addresses.

Thanks Peter

tell application "Mail"
	set emailAddressList to {}
	repeat with emailAddresses in (get email addresses of every account whose enabled is true)
		set emailAddressList to emailAddressList & emailAddresses
	end repeat
end tell

maybe?

Thank you very much so very simple heaven knows what I was trying to do. Must admit did not know you could run loops without defining the variable first . I guess there could be a circumstance when i wanted the address of accounts that were not enabled but that is in the future.
I need this as a handler to determine if an email has been received or sent by the owner of the mail application.

Thanks

Peter