Programmatically Re-Use CiviMail Emails
Look at the bottom lines here to get you started:
https://github.com/civicrm/civicrm-core/blob/master/CRM/Mailing/Controller/Send.php

i.e.
$clone = civicrm_api3('Mailing', 'clone', array('id' =&gt; $mid));
and then follow thru the rest of the code.