mirror of
https://github.com/maelgangloff/domain-watchdog.git
synced 2025-12-17 17:55:42 +00:00
feat: send email when domain ordered
This commit is contained in:
parent
7e2da3eb0b
commit
691b684fc1
@ -5,6 +5,7 @@ namespace App\MessageHandler;
|
|||||||
use App\Config\Connector\OvhConnector;
|
use App\Config\Connector\OvhConnector;
|
||||||
use App\Config\ConnectorProvider;
|
use App\Config\ConnectorProvider;
|
||||||
use App\Config\TriggerAction;
|
use App\Config\TriggerAction;
|
||||||
|
use App\Entity\Connector;
|
||||||
use App\Entity\Domain;
|
use App\Entity\Domain;
|
||||||
use App\Entity\DomainEvent;
|
use App\Entity\DomainEvent;
|
||||||
use App\Entity\User;
|
use App\Entity\User;
|
||||||
@ -68,6 +69,7 @@ final readonly class ProcessDomainTriggerHandler
|
|||||||
true,
|
true,
|
||||||
$isDebug
|
$isDebug
|
||||||
);
|
);
|
||||||
|
$this->sendEmailDomainOrdered($domain, $connector, $watchList->getUser());
|
||||||
|
|
||||||
} else throw new Exception("Unknown provider");
|
} else throw new Exception("Unknown provider");
|
||||||
}
|
}
|
||||||
@ -81,6 +83,25 @@ final readonly class ProcessDomainTriggerHandler
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws TransportExceptionInterface
|
||||||
|
*/
|
||||||
|
private function sendEmailDomainOrdered(Domain $domain, Connector $connector, User $user): void
|
||||||
|
{
|
||||||
|
$email = (new TemplatedEmail())
|
||||||
|
->from($this->mailerSenderEmail)
|
||||||
|
->to($user->getEmail())
|
||||||
|
->priority(Email::PRIORITY_HIGHEST)
|
||||||
|
->subject('A domain name has been ordered')
|
||||||
|
->htmlTemplate('emails/success/domain_ordered.html.twig')
|
||||||
|
->locale('en')
|
||||||
|
->context([
|
||||||
|
"domain" => $domain,
|
||||||
|
"provider" => $connector->getProvider()->value
|
||||||
|
]);
|
||||||
|
|
||||||
|
$this->mailer->send($email);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @throws TransportExceptionInterface
|
* @throws TransportExceptionInterface
|
||||||
@ -92,7 +113,7 @@ final readonly class ProcessDomainTriggerHandler
|
|||||||
->to($user->getEmail())
|
->to($user->getEmail())
|
||||||
->priority(Email::PRIORITY_HIGHEST)
|
->priority(Email::PRIORITY_HIGHEST)
|
||||||
->subject('A domain name has been changed')
|
->subject('A domain name has been changed')
|
||||||
->htmlTemplate('emails/domain_updated.html.twig')
|
->htmlTemplate('emails/success/domain_updated.html.twig')
|
||||||
->locale('en')
|
->locale('en')
|
||||||
->context([
|
->context([
|
||||||
"event" => $domainEvent
|
"event" => $domainEvent
|
||||||
|
|||||||
66
templates/emails/success/domain_ordered.html.twig
Normal file
66
templates/emails/success/domain_ordered.html.twig
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
font-family: Arial, sans-serif;
|
||||||
|
line-height: 1.6;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
max-width: 600px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 20px;
|
||||||
|
border: 1px solid #ddd;
|
||||||
|
border-radius: 5px;
|
||||||
|
background-color: #f9f9f9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header {
|
||||||
|
text-align: center;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header h1 {
|
||||||
|
font-size: 24px;
|
||||||
|
color: #0056b3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content p {
|
||||||
|
margin: 0 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer {
|
||||||
|
text-align: center;
|
||||||
|
color: #777;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<title>Domain Watchdog - Domain Ordered</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
<div class="header">
|
||||||
|
<h1>Domain Watchdog - Domain Ordered</h1>
|
||||||
|
</div>
|
||||||
|
<div class="content">
|
||||||
|
<p>Hello,</p>
|
||||||
|
<p>We are pleased to inform you that a domain name present in your Watchlist has been ordered using the
|
||||||
|
connector you have chosen.</p>
|
||||||
|
<p><strong>Domain name:</strong> {{ domain.ldhName }}</p>
|
||||||
|
<p><strong>Connector provider :</strong> {{ provider }}</p>
|
||||||
|
<br/>
|
||||||
|
<p>Thank you for your understanding,</p>
|
||||||
|
<p>Sincerely,</p>
|
||||||
|
<p>Domain Watchdog</p>
|
||||||
|
</div>
|
||||||
|
<div class="footer">
|
||||||
|
<p>© Domain Watchdog</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Loading…
x
Reference in New Issue
Block a user