Your task can be done with just some HTML and JavaScript.
The jQuery, and Sisyphus JavaScript libraries help you here.
And it is surprisingly easy to send mail with plain html/javascript.
I put you some example HTML together (It got a little more extensive, than I thought, but there you are):
<!DOCTYPE html>
<html>
<head>
<script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.js'></script>
<script type='text/javascript' src='http://sisyphus-js.herokuapp.com/assets/application-09059f9f54cc3c3bff98487cf866644b.js'></script>
<script type='text/javascript'>
function sendMail() {
var mailbody = "My Checklist: \n\n"
+ $('input[type="checkbox"]').map(
function(id, box){ return (box.checked ? "[x]" : "[ ]") + " " + box.name;}
).get().join("\n");
var link = "mailto:me@example.com"
+ "?cc=myCCaddress@example.com"
+ "&subject=" + escape("This is my subject")
+ "&body=" + escape(mailbody);
window.location.href = link;
}
$(function(){
$( "#checklist" ).sisyphus();
});
</script>
</head>
<body>
<form id="checklist">
<label><input type="checkbox" name="buy" />Buy some tee</label><br />
<label><input type="checkbox" name="brew" />Brew the tee</label><br />
<label><input type="checkbox" name="drink" />Drink tee</label><br />
<button onclick="sendMail(); return false">Send Mail</button>
</form>
</body>
</html>
Sisyphus is a library that save form data in your browsers local storage. This way you can leave the page, come back later and still have your form values present (if you come back on the same computer with the same browser).
The sendMail() function builds a mailto link, which opens your local email client with a new mail ready to send.
Edit: shortened example code