From 3e76bdccc2973cb810f4ec1ca5d5c1686a05bad0 Mon Sep 17 00:00:00 2001 From: Jeppe Bundgaard Date: Tue, 17 Feb 2026 11:43:14 +0100 Subject: [PATCH] Add HTML email template for new customer welcome email and integrate into email class --- services/nginx/app/classes/email.php | 40 +++--- .../templates/email_template_new_customer.php | 120 ++++++++++++++++++ 2 files changed, 140 insertions(+), 20 deletions(-) create mode 100644 services/nginx/app/modules/email/templates/email_template_new_customer.php diff --git a/services/nginx/app/classes/email.php b/services/nginx/app/classes/email.php index 5dba470f..8bb16649 100644 --- a/services/nginx/app/classes/email.php +++ b/services/nginx/app/classes/email.php @@ -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 + ); } diff --git a/services/nginx/app/modules/email/templates/email_template_new_customer.php b/services/nginx/app/modules/email/templates/email_template_new_customer.php new file mode 100644 index 00000000..ddc4db68 --- /dev/null +++ b/services/nginx/app/modules/email/templates/email_template_new_customer.php @@ -0,0 +1,120 @@ +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 + ?> + + +
+ +

Velkommen!

+ + +

+ Tak for din registrering af virksomhed (CVR) som kunde hos Truck Wash. +

+ + +

+ Du kan nu vaske i alle vores afdelinger, find din nærmeste på + truckwash.dk +

+ + +

+ Som ny kunde af Truck Wash får du adgang til en række unikke fordele: +

+ + + + + +

+ Dit login til kundeportalen er:
+ Brugernavn: customer_number ?>
+ Kode: Ikke opsat +

+ + +
+ + Færdiggør kontoopsætning + +
+ + +

+ Vi ser frem til at modtage dine køretøjer ude i vaskebanerne.
+ Har du spørgsmål, så kontakt os endelig. +

+ + +

+ Med venlig hilsen,
+ Truck Wash +

+
+ +