Leverage an Automated System for the emails
Various issue tracking software can be configured to automatically send emails to people. Any time your manager gives you a task, create a ticket for the task in the system. If configured correctly, the system would then proceed to send an automated email detailing everything to you, your manager, and anyone else you want.
If he complains about the automated email, you can shift the blame to the issue tracking software and say it is built in. At the same time, the issue tracking system will provide a nice paper trail of what work you are doing and who requested it.
Even for work that does not involve programming, having a system that tracks tasks is very beneficial. So if you'reyou are working in an environment that does not have it, I recommend finding one that meets your needs and act as a champion for its adoption. If used correctly, it can help address the issue you are facing.
If your manager still claims that he never assigned you a task. Tracking software can have restrictions put in place on who can allow tasks to be moved into development. On one program I worked on which was rather large before any item or task could be worked it had to be approved by a technical leader or manager. As such the workflow went like this:
- Open: Someone has created the task and is currently adding details to it
- Review: Item/task is awaiting person with authority like your manager to review it
- Development: Actively working the item/task...
After that there can be testing, verification, sign off or any other number of steps that make sense for what you are working on. The second step is the most important step since that would force your manager to sign off on all work while creating a paper trail.