Registry key "dotmailer_current_template_id" already exists in /var/www/html/vendor/magento/framework/Registry.php:60
I am getting this error when I try to programmatically send an email with magento 2.
My code is as a follows. The AmastyConfig object has methods that check if my configurations are valid before sending the email.
public function sendStartSubscriptionEmail( AmastySubscriptionInterface $subscription,$storeId){ $customerEmail= $this->customerRepositoryInterface->getById($subscription->getCustomerId())->getEmail(); if ($this->AmastyConfig->isNotifySubscriptionPurchased($storeId)) { $template = $this->AmastyConfig->getEmailTemplateSubscriptionPurchased($storeId); //$this->Notifier->sendEmail( $subscription, $template, $storeId, $customerEmail); }}
This is the definition of the send email class.
public function sendEmail( AmastySubscriptionInterface $subscription, string $template, int $storeId, string $email, array $templateVariables = [] ) { $templateVariables = array_merge($this->prepareTemplateVariables($subscription), $templateVariables);
    $data = new DataObject(
        [
            'template'           => $template,
            'store_id'           => $storeId,
            'email_recipient'    => $email,
            'email_sender'       => $this->config->getEmailSender($storeId),
            'template_variables' => $templateVariables
        ]
    );
    $this->eventManager->dispatch('amasty_recurring_send_email', ['email_data' => $data]);
}}
This is the Observer:
class Notification implements ObserverInterface { /** * @var TransportBuilder */ private $transportBuilder;
public function __construct(TransportBuilder $transportBuilder)
{
    $this->transportBuilder = $transportBuilder;
}
/**
 * @param Observer $observer
 *
 * @throws \Exception
 */
public function execute(Observer $observer)
{
    $data = $observer->getData('email_data');
    if (!$data) {
        throw new \Exception('Email data not specified');
    }
    /** @var TransportBuilder $transportBuilder */
    $transportBuilder = clone $this->transportBuilder;
    $transportBuilder->setTemplateIdentifier($data['template'] ?? null)
        ->setTemplateVars($data['template_variables'] ?? [])
        ->setTemplateOptions(
            [
                Area::PARAM_AREA=> Area::AREA_FRONTEND,
                Store::ENTITY => $data['store_id'] ?? null
            ]
        )
        ->setFrom($data['email_sender'] ?? null)
        ->addTo($data['email_recipient'] ?? null);
    /** @var \Magento\Framework\Mail\TransportInterface $transport */
    $transport = $transportBuilder->getTransport();
    $transport->sendMessage();
}}