The explanation for that is simple.. odoo/openerp server should be always in UTC time... and users timezones should be chosen according to current timezone settings. Odoo will always write UTC times in database (without timezone) and show times in current user time zone.
In your case, i guess that your server is also in GMT timezone(wich is UTC +1) and times shown in your e-mails are -1hr.
You should check your server timezone with: date +%Z
and if it is not UTC, run: sudo dpkg-reconfigure tzdata (valid for ubuntu/debian servers)
for more info on that matter please refer to this question or serch official documentation
Hi Davide, Did you find a solution for this? So far we are using pytz.timezone.localize to convert from UTC to user's timezone before generating the email, and append the adjusted datetime to the context...
I found others are using fields.datetime.context_timestamp to fix this... Just did a couple tests and it works fine...