Are you sure your context is thread-safe, ie. it's rebuilt from scratch every time you render an email and not re-used, stored in a global variable, class variable, whatever? Your problem description very much sounds like someone is fiddling with the context while the template is rendering.
A popular way to generate such a problem would be to use a literal dict as default parameter, something like: def my_render_email(recipient, context={}): context['email'] = recipient body = render_to_string('template.html', context) ... That is absolutely positively guaranteed to blow up in your face when you least expect it. mjl -- You received this message because you are subscribed to the Google Groups "Django users" group. To view this discussion on the web visit https://groups.google.com/d/msg/django-users/-/mW012mKt7pwJ. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.