Make sure the emails you've edited are choosen under System > Configuration > Sales > Sales Emails > [type of email] > [type of email] Email Template / [type of email] for guests
Other emails like the one for welcoming a new user are spread out over the System > Configuration, for example under Customer Configuration > Create New Account Options. You'll have to locate the email templates you have updated.
By default all these dropdowns are on [...] (Default Template From Locale), select your modifications name from the dropdown
In a situation like this it's generally useful to follow the logic of the corresponding admin user action, which posts to Mage_Adminhtml_System_Email_TemplateController::saveAction():
$template->setTemplateSubject($request->getParam('template_subject'))
->setTemplateCode($request->getParam('template_code'))
->setTemplateText($request->getParam('template_text'))
->setTemplateStyles($request->getParam('template_styles'))
->setModifiedAt(Mage::getSingleton('core/date')->gmtDate())
->setOrigTemplateCode($request->getParam('orig_template_code'))
->setOrigTemplateVariables($request->getParam('orig_template_variables'));
if (!$template->getId()) {
$template->setAddedAt(Mage::getSingleton('core/date')->gmtDate());
$template->setTemplateType(Mage_Core_Model_Email_Template::TYPE_HTML);
}
if ($request->getParam('_change_type_flag')) {
$template->setTemplateType(Mage_Core_Model_Email_Template::TYPE_TEXT);
$template->setTemplateStyles('');
}
$template->save();
You can essentially do the same in your setup script, with the obvious difference being that instead of POST params accessed via a request object you are creating your own array directly in the code.
Best Answer
Developed a module for email setup by referring the blog for the requirement: https://webkul.com/blog/magento-2-send-transactional-email-programmatically-in-your-custom-module/
Here I have modified the helper class according the usage as follows:
Now using the following code we can able to trigger the email from root folder: