There seem to be a few issues with the way you call sendTransactional (). Firstly, $ templateId is undefined, it looks like you actually saved the template identifier in $ emailId. In addition, $ sender, $ email and $ name are undefined. You can try something like this:
->sendTransactional($emailId, 'general', $post['email'], "Need a send to name here")
This will only work if you return a valid template id from your call to getStoreConfig (). You also need to set the correct last name.
There may be other problems, but this is what I noticed with a quick look anyway.
source share