Charge Pro not sending Subscription Emails So I've actually created a fix for this, but it's a bit complicated. Wanted to share in case anyone else runs into this problem.

Working in Craft 2.6.2954 and Charge Pro 2.18

When creating new subscriptions, the emails were not being sent properly. I checked the charge logs in the charge plugin and it was giving me an error of "Failed to find email with the handle : Welcome Email". I figured out that "Welcome Email" was the correct name of my email, but it wasn't the handle, which is why it wasn't being found. I created a new function in the Charge_EmailService.php file called _getEmailModelByName, you can see it here:

private function _getEmailModelByName($handle = null)
{
    if ($handle) {
        $emailRecord = Charge_EmailRecord::model()-&gt;findByAttributes(
            ['name' =&gt; $handle]);

        if (!$emailRecord) {
            return false;
        }

        $model = Charge_EmailModel::populateModel($emailRecord);

        return $model;
    }

    return false;
}


I then updated the sendByHandle function to do a few checks on the handle and try to find the email a different way. Here's the new sendByEmail function:

public function sendByHandle($handle, ChargeModel $chargeModel, $extra = [])
{

    if(is_int($handle)){
        $emailModel = $this-&gt;_getEmailModelById($handle);
    } else {
        $emailModel = $this-&gt;_getEmailModelByHandle($handle);
    }

    if($emailModel == false) {
        $emailModel = $this-&gt;_getEmailModelByName($handle);
    }


    if($emailModel == false) {
        craft()-&gt;charge_log-&gt;error('Failed to find email with the handle : '.$handle, ['extra' =&gt; $extra, 'charge' =&gt; $chargeModel]);
        return false;
    }

    $data['charge'] = $chargeModel;
    foreach($extra as $key =&gt; $arr) {
        $data[$key] = $arr;
    }

    $emailModel-&gt;send($data);
}


Looks like this is now working as it should. Hope it saves someone else some frustration.
I've actually answered the question in the question. Not sure why it's not showing as is, but the solution is updating the plugin file as mentioned above.