when you are sure that your mail body is always the same, it can be much simpler. This example function is trying to remove tab, carriage return chars etc..., since the body was not always the same (different character sets, sending mail clients etc..)
if the nr. of emails is huge, it can be better to have GeniusConnect insert the email in some sort of stack table, and to create an insert trigger on this table, that will re-insert parsed body to a table with named columns, in this example column City and Country.
Using a View with parsing will work but can get very slow with huge number of records, when using insert triggers, it will parse only once during the insert.
Example trigger:
CREATE TRIGGER iParseTrigger on myStackTable
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON
INSERT INTO myRealTable (ID, City, Country)
SELECT ID, LOWER(dbo.ToString(Body, 'City=', 'City :')),
LOWER(dbo.ToString(Body, 'Country=', 'Country :')
FROM inserted
SET NOCOUNT OFF
END