Just use the ID of the item you are getting and build your URL correctly. If you are getting the item from a different list, you will have to pass the ID to the list you are building your email off of. Use xPath and managed code if you want the button on the InfoPath form. Then just build your URL correctly Example: href="http://mySharePoint/Lists/My%20Custom%20List/EditForm.aspx?ID={ID_Variable}"
Or you can get fancy and create your own custom ribbon button to run a workflow and do the same thing. A little CSOM to capture getSelectedItems and you can do many at once.
var ctx = SP.ClientContext.get_current();
var items = SP.ListOperation.Selection.getSelectedItems(ctx);
I hope this helps. Good Luck!