If it is a daily report, don't use workflow, run the report and send regular mails, using workflows will cause a lot of unneeded data to be written to the DB (workflow logs,head,object links,deadlines etc.)
If it should be a mail sent directly, you can use workflow events if you want in the way Raj Kumar suggested. but there is no added value to the workflow event in this case, a user exit of BADI will work just the same.