Add HTML email template for new customer welcome email and integrate into email class
This commit is contained in:
@@ -10,6 +10,7 @@ require_once WD . '/modules/email/templates/email_template_stripe_invoice.php';
|
||||
require_once WD . '/modules/email/templates/email_template_booking_confirmation.php';
|
||||
require_once WD . '/modules/email/templates/email_template_booking_notification.php';
|
||||
require_once WD . '/modules/email/templates/email_template_wash_certificate.php';
|
||||
require_once WD . '/modules/email/templates/email_template_new_customer.php';
|
||||
|
||||
use AllowDynamicProperties;
|
||||
use email\email_c;
|
||||
@@ -20,6 +21,7 @@ use email\templates\email_template_head;
|
||||
use email\templates\email_template_header;
|
||||
use email\templates\email_template_stripe_invoice;
|
||||
use email\templates\email_template_wash_certificate;
|
||||
use email\templates\email_template_new_customer;
|
||||
use Exception;
|
||||
use interfaces\email_i;
|
||||
use JsonException;
|
||||
@@ -458,33 +460,31 @@ use Psr\Http\Client\ClientExceptionInterface;
|
||||
throw new Exception('Customer not found with customer number: ' . $customer_number);
|
||||
}
|
||||
$password_reset_link = $customer->generatePasswordResetLink();
|
||||
/**
|
||||
* Tillykke med din nye kredit konto!
|
||||
*
|
||||
* Du kan nu vaske i alle vores afdelinger.
|
||||
* Vedhæftet finder du en liste over vores afdelinger, som kan viderebringes til dine chauffører.
|
||||
*
|
||||
* Opsæt din adgangskode her: $password_reset_link
|
||||
*
|
||||
* Vi har oprettet en kredit konto til dig, med følgende informationer:
|
||||
*
|
||||
* Virksomhed: AT Kloakservice ApS
|
||||
* Tlf: 77302200
|
||||
* CVR: 40650717
|
||||
*/
|
||||
$company_name = $customer->getCustomerName((int)$customer->customer_number->value());
|
||||
$phone = $customer->getCustomerEcocomicData()->economic_customer->mobilePhone;
|
||||
$cvr = $customer->economic_customer->corporateIdentificationNumber;
|
||||
// Craft the email message
|
||||
$message = "Tillykke med din nye kredit konto!\n\nDu kan nu vaske i alle vores afdelinger.\nVedhæftet finder du en liste over vores afdelinger, som kan viderebringes til dine chauffører.\n\nOpsæt din adgangskode her: $password_reset_link\n\nVi har oprettet en kredit konto til dig, med følgende informationer:\n\nVirksomhed: $company_name\nTlf: $phone\nCVR: $cvr";
|
||||
// Send the email
|
||||
// Generate HTML email using the new customer template
|
||||
$html = self::generateHtmlHeader();
|
||||
$html .= (new email_template_new_customer(
|
||||
(int)$customer->customer_number->value(),
|
||||
$password_reset_link,
|
||||
))->generate_html();
|
||||
$html .= self::generateHtmlFooter();
|
||||
// Prepare attachment (departments flyer)
|
||||
$this->attachments = [
|
||||
[
|
||||
'https://www.truckwash.dk/wp-content/uploads/2024/10/Truck-Wash_Flyer_A5.pdf',
|
||||
'Truck Wash Afdelinger.pdf'
|
||||
]
|
||||
];
|
||||
$this->sendEmail($email, $company_name, 'Velkommen til Truck Wash', nl2br($message), null, $this->attachments);
|
||||
// Send the email via MailerSend
|
||||
$this->sendEmailMailerSend(
|
||||
$email,
|
||||
$company_name,
|
||||
'Velkommen til Truck Wash',
|
||||
'',
|
||||
$html,
|
||||
null,
|
||||
$this->attachments
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,120 @@
|
||||
<?php
|
||||
|
||||
namespace email\templates;
|
||||
|
||||
use email\helpers\email_template;
|
||||
|
||||
class email_template_new_customer
|
||||
{
|
||||
use email_template;
|
||||
|
||||
protected int $customer_number;
|
||||
protected string $password_reset_link;
|
||||
|
||||
public function __construct(
|
||||
int $customer_number,
|
||||
string $password_reset_link,
|
||||
)
|
||||
{
|
||||
$this->customer_number = $customer_number;
|
||||
$this->password_reset_link = $password_reset_link;
|
||||
}
|
||||
|
||||
public function generate_text(): string
|
||||
{
|
||||
$lines = [];
|
||||
$lines[] = 'Velkommen!';
|
||||
$lines[] = 'Tak for din registrering af virksomhed (CVR) som kunde hos Truck Wash.';
|
||||
$lines[] = 'Du kan nu vaske i alle vores afdelinger, find din nærmeste på truckwash.dk';
|
||||
$lines[] = '';
|
||||
$lines[] = 'Som ny kunde af Truck Wash får du adgang til en række unikke fordele:';
|
||||
$lines[] = '- Et landsdækkende netværk af vaskehaller';
|
||||
$lines[] = '- En kundeportal, hvor du kan håndtere alle aspekter af dine vaskebehov';
|
||||
$lines[] = '- En samlet faktura for alle dine vaske på tværs af landet';
|
||||
$lines[] = '- Et standardiseret vaskecertifikat for gennemførte vaske';
|
||||
$lines[] = '- En bookingportal, hvor du nemt kan booke vaske på tværs af landet';
|
||||
$lines[] = '- En mulighed for at vaske 24/7, idet vi har døgnåbent på de fleste lokationer';
|
||||
$lines[] = '';
|
||||
$lines[] = 'Dit login til kundeportalen er:';
|
||||
$lines[] = 'Brugernavn: ' . $this->customer_number;
|
||||
$lines[] = 'Kode: Ikke opsat';
|
||||
$lines[] = 'Færdiggør kontoopsætning: ' . $this->password_reset_link;
|
||||
$lines[] = '';
|
||||
$lines[] = 'Vi ser frem til at modtage dine køretøjer ude i vaskebanerne.';
|
||||
$lines[] = 'Har du spørgsmål, så kontakt os endelig.';
|
||||
$lines[] = '';
|
||||
$lines[] = 'Med venlig hilsen,';
|
||||
$lines[] = 'Truck Wash';
|
||||
return implode("\n", $lines);
|
||||
}
|
||||
|
||||
public function generate_html(): string
|
||||
{
|
||||
ob_start();
|
||||
# Start of the html
|
||||
?>
|
||||
|
||||
<!-- New customer welcome template -->
|
||||
<div class="email-template">
|
||||
<!-- Title / Welcome -->
|
||||
<p style="color: #000; font-size: 24px; line-height: 1.5; margin: 0 0 24px 0;"><strong>Velkommen!</strong></p>
|
||||
|
||||
<!-- Intro -->
|
||||
<p style="color: #000; font-size: 16px; line-height: 1.5; margin: 0 0 18px 0;">
|
||||
Tak for din registrering af virksomhed (CVR) som kunde hos Truck Wash.
|
||||
</p>
|
||||
|
||||
<!-- Info -->
|
||||
<p style="color: #000; font-size: 16px; line-height: 1.5; margin: 0 0 18px 0;">
|
||||
Du kan nu vaske i alle vores afdelinger, find din nærmeste på
|
||||
<a href="https://www.truckwash.dk" style="color:#001244; text-decoration:none;">truckwash.dk</a>
|
||||
</p>
|
||||
|
||||
<!-- Benefits header -->
|
||||
<p style="color: #000; font-size: 16px; line-height: 1.5; margin: 0;">
|
||||
Som ny kunde af Truck Wash får du adgang til en række unikke fordele:
|
||||
</p>
|
||||
|
||||
<!-- Benefits list -->
|
||||
<ul style="color: #000; font-size: 16px; line-height: 1.5; margin: 8px 0 24px 20px; padding: 0;">
|
||||
<li>Et landsdækkende netværk af vaskehaller</li>
|
||||
<li>En kundeportal, hvor du kan håndtere alle aspekter af dine vaskebehov</li>
|
||||
<li>En samlet faktura for alle dine vaske på tværs af landet</li>
|
||||
<li>Et standardiseret vaskecertifikat for gennemførte vaske</li>
|
||||
<li>En bookingportal, hvor du nemt kan booke vaske på tværs af landet</li>
|
||||
<li>En mulighed for at vaske 24/7, idet vi har døgnåbent på de fleste lokationer</li>
|
||||
</ul>
|
||||
|
||||
<!-- Credentials -->
|
||||
<p style="color: #000; font-size: 16px; line-height: 1.5; margin: 0;">
|
||||
Dit login til kundeportalen er:<br>
|
||||
<strong>Brugernavn:</strong> <?= $this->customer_number ?><br>
|
||||
<strong>Kode:</strong> Ikke opsat
|
||||
</p>
|
||||
|
||||
<!-- CTA Button -->
|
||||
<div style="margin: 24px 0 32px 0; text-align: center;">
|
||||
<a href="<?= htmlspecialchars($this->password_reset_link) ?>"
|
||||
style="background-color:#477fae; color:#fff; padding:12px 18px; text-decoration:none; border-radius:12px; font-size:16px; display:inline-block;">
|
||||
Færdiggør kontoopsætning
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Closing -->
|
||||
<p style="color: #000; font-size: 16px; line-height: 1.5; margin: 0;">
|
||||
Vi ser frem til at modtage dine køretøjer ude i vaskebanerne.<br>
|
||||
Har du spørgsmål, så kontakt os endelig.
|
||||
</p>
|
||||
|
||||
<!-- Regards -->
|
||||
<p style="color: #000; font-size: 16px; line-height: 1.5; margin: 16px 0 0 0;">
|
||||
Med venlig hilsen,<br>
|
||||
Truck Wash
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
# End of the html
|
||||
return ob_get_clean();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user