fix: revert email templates to inline styles for GMX webmail compat
All checks were successful
CI / build (push) Successful in 1m59s
CI / docker (push) Successful in 1m52s

GMX webmail strips <head> content including <style> blocks, rendering
emails as unstyled plain text. Reverts to inline styles (the only
reliable approach for email HTML) while keeping the proper HTML document
structure and extra text content added for mail checker compliance.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
hsiegeln
2026-04-26 15:56:10 +02:00
parent 988035b952
commit c6b6bafc0f
5 changed files with 89 additions and 188 deletions

View File

@@ -5,49 +5,29 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Reset your Cameleer password</title> <title>Reset your Cameleer password</title>
<style>
body { margin:0; padding:0; background:#f5f1eb; }
.wrapper { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; max-width:480px; margin:0 auto; background:#fff; border-radius:8px; overflow:hidden; border:1px solid #e8e0d4; }
.header { background:#C6820E; padding:20px 24px; text-align:center; }
.header span { font-size:22px; font-weight:700; color:#fff; letter-spacing:0.5px; }
.content { padding:32px 24px 24px; position:relative; overflow:hidden; }
.watermark { position:absolute; top:-30px; right:-50px; width:320px; height:320px; opacity:0.07; pointer-events:none; border:0; outline:none; }
.inner { position:relative; }
.title { color:#1a1a1a; font-size:16px; font-weight:600; margin:0 0 8px; }
.subtitle { color:#444; font-size:14px; line-height:1.6; margin:0 0 24px; }
.code-box { text-align:center; margin:0 0 24px; }
.code-box div { display:inline-block; background:#FDF6EC; border:2px solid #C6820E; border-radius:8px; padding:16px 32px; }
.code-box span { font-size:32px; font-weight:700; letter-spacing:8px; color:#C6820E; font-family:'Courier New',Courier,monospace; }
.hint { color:#888; font-size:13px; line-height:1.5; margin:0 0 16px; }
.detail { color:#888; font-size:13px; line-height:1.5; margin:0; }
.footer { border-top:1px solid #e8e0d4; padding:16px 24px; text-align:center; }
.footer p { margin:0; }
.footer .contact { color:#999; font-size:12px; }
.footer .tagline { color:#bbb; font-size:11px; margin-top:6px; }
</style>
</head> </head>
<body> <body style="margin:0;padding:0;background:#f5f1eb;">
<div class="wrapper"> <div style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;max-width:480px;margin:0 auto;background:#ffffff;border-radius:8px;overflow:hidden;border:1px solid #e8e0d4;">
<div class="header"> <div style="background:#C6820E;padding:20px 24px;text-align:center;">
<span>Cameleer.io</span> <span style="font-size:22px;font-weight:700;color:#ffffff;letter-spacing:0.5px;">Cameleer.io</span>
</div> </div>
<div class="content"> <div style="padding:32px 24px 24px;position:relative;overflow:hidden;">
<img src="{{watermarkUrl}}" class="watermark" alt="" /> <img src="{{watermarkUrl}}" style="position:absolute;top:-30px;right:-50px;width:320px;height:320px;opacity:0.07;pointer-events:none;border:0;outline:none;" alt="" />
<div class="inner"> <div style="position:relative;">
<p class="title">Lost in the dunes?</p> <p style="color:#1a1a1a;font-size:16px;font-weight:600;margin:0 0 8px;">Lost in the dunes?</p>
<p class="subtitle">No worries — enter this code to reset your password and get back on the trail.</p> <p style="color:#444;font-size:14px;line-height:1.6;margin:0 0 24px;">No worries — enter this code to reset your password and get back on the trail.</p>
<div class="code-box"> <div style="text-align:center;margin:0 0 24px;">
<div> <div style="display:inline-block;background:#FDF6EC;border:2px solid #C6820E;border-radius:8px;padding:16px 32px;">
<span>{{code}}</span> <span style="font-size:32px;font-weight:700;letter-spacing:8px;color:#C6820E;font-family:'Courier New',Courier,monospace;">{{code}}</span>
</div>
</div> </div>
</div> <p style="color:#888;font-size:13px;line-height:1.5;margin:0 0 16px;">This code expires in 10 minutes. If you didn't request a password reset, you can safely ignore this email.</p>
<p class="hint">This code expires in 10 minutes. If you didn't request a password reset, you can safely ignore this email.</p> <p style="color:#888;font-size:13px;line-height:1.5;margin:0;">This password reset was requested for your Cameleer account. Cameleer is an observability platform for Apache Camel integrations providing real-time route tracing, message inspection, and performance monitoring. For security, this code can only be used once. If you continue to have trouble accessing your account, please contact your administrator for assistance.</p>
<p class="detail">This password reset was requested for your Cameleer account. Cameleer is an observability platform for Apache Camel integrations providing real-time route tracing, message inspection, and performance monitoring. For security, this code can only be used once. If you continue to have trouble accessing your account, please contact your administrator for assistance.</p>
</div> </div>
</div> </div>
<div class="footer"> <div style="border-top:1px solid #e8e0d4;padding:16px 24px;text-align:center;">
<p class="contact">Questions? Contact your administrator</p> <p style="color:#999;font-size:12px;margin:0;">Questions? Contact your administrator</p>
<p class="tagline">Cameleer — Apache Camel observability</p> <p style="color:#bbb;font-size:11px;margin:6px 0 0;">Cameleer — Apache Camel observability</p>
</div> </div>
</div> </div>
</body> </body>

View File

@@ -5,49 +5,29 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Your Cameleer verification code</title> <title>Your Cameleer verification code</title>
<style>
body { margin:0; padding:0; background:#f5f1eb; }
.wrapper { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; max-width:480px; margin:0 auto; background:#fff; border-radius:8px; overflow:hidden; border:1px solid #e8e0d4; }
.header { background:#C6820E; padding:20px 24px; text-align:center; }
.header span { font-size:22px; font-weight:700; color:#fff; letter-spacing:0.5px; }
.content { padding:32px 24px 24px; position:relative; overflow:hidden; }
.watermark { position:absolute; top:-30px; right:-50px; width:320px; height:320px; opacity:0.07; pointer-events:none; border:0; outline:none; }
.inner { position:relative; }
.title { color:#1a1a1a; font-size:16px; font-weight:600; margin:0 0 8px; }
.subtitle { color:#444; font-size:14px; line-height:1.6; margin:0 0 24px; }
.code-box { text-align:center; margin:0 0 24px; }
.code-box div { display:inline-block; background:#FDF6EC; border:2px solid #C6820E; border-radius:8px; padding:16px 32px; }
.code-box span { font-size:32px; font-weight:700; letter-spacing:8px; color:#C6820E; font-family:'Courier New',Courier,monospace; }
.hint { color:#888; font-size:13px; line-height:1.5; margin:0 0 16px; }
.detail { color:#888; font-size:13px; line-height:1.5; margin:0; }
.footer { border-top:1px solid #e8e0d4; padding:16px 24px; text-align:center; }
.footer p { margin:0; }
.footer .contact { color:#999; font-size:12px; }
.footer .tagline { color:#bbb; font-size:11px; margin-top:6px; }
</style>
</head> </head>
<body> <body style="margin:0;padding:0;background:#f5f1eb;">
<div class="wrapper"> <div style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;max-width:480px;margin:0 auto;background:#ffffff;border-radius:8px;overflow:hidden;border:1px solid #e8e0d4;">
<div class="header"> <div style="background:#C6820E;padding:20px 24px;text-align:center;">
<span>Cameleer.io</span> <span style="font-size:22px;font-weight:700;color:#ffffff;letter-spacing:0.5px;">Cameleer.io</span>
</div> </div>
<div class="content"> <div style="padding:32px 24px 24px;position:relative;overflow:hidden;">
<img src="{{watermarkUrl}}" class="watermark" alt="" /> <img src="{{watermarkUrl}}" style="position:absolute;top:-30px;right:-50px;width:320px;height:320px;opacity:0.07;pointer-events:none;border:0;outline:none;" alt="" />
<div class="inner"> <div style="position:relative;">
<p class="title">Quick checkpoint</p> <p style="color:#1a1a1a;font-size:16px;font-weight:600;margin:0 0 8px;">Quick checkpoint</p>
<p class="subtitle">Here's your verification code. Just making sure it's really you at the reins.</p> <p style="color:#444;font-size:14px;line-height:1.6;margin:0 0 24px;">Here's your verification code. Just making sure it's really you at the reins.</p>
<div class="code-box"> <div style="text-align:center;margin:0 0 24px;">
<div> <div style="display:inline-block;background:#FDF6EC;border:2px solid #C6820E;border-radius:8px;padding:16px 32px;">
<span>{{code}}</span> <span style="font-size:32px;font-weight:700;letter-spacing:8px;color:#C6820E;font-family:'Courier New',Courier,monospace;">{{code}}</span>
</div>
</div> </div>
</div> <p style="color:#888;font-size:13px;line-height:1.5;margin:0 0 16px;">This code expires in 10 minutes.</p>
<p class="hint">This code expires in 10 minutes.</p> <p style="color:#888;font-size:13px;line-height:1.5;margin:0;">You are receiving this email because a verification was requested on your Cameleer account. Cameleer is an observability platform for Apache Camel integrations providing real-time route tracing, message inspection, and performance monitoring. If you did not request this verification, please ignore this email or contact your administrator for assistance.</p>
<p class="detail">You are receiving this email because a verification was requested on your Cameleer account. Cameleer is an observability platform for Apache Camel integrations providing real-time route tracing, message inspection, and performance monitoring. If you did not request this verification, please ignore this email or contact your administrator for assistance.</p>
</div> </div>
</div> </div>
<div class="footer"> <div style="border-top:1px solid #e8e0d4;padding:16px 24px;text-align:center;">
<p class="contact">Questions? Contact your administrator</p> <p style="color:#999;font-size:12px;margin:0;">Questions? Contact your administrator</p>
<p class="tagline">Cameleer — Apache Camel observability</p> <p style="color:#bbb;font-size:11px;margin:6px 0 0;">Cameleer — Apache Camel observability</p>
</div> </div>
</div> </div>
</body> </body>

View File

@@ -5,46 +5,27 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Your password was reset</title> <title>Your password was reset</title>
<style>
body { margin:0; padding:0; background:#f5f1eb; }
.wrapper { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; max-width:480px; margin:0 auto; background:#fff; border-radius:8px; overflow:hidden; border:1px solid #e8e0d4; }
.header { background:#C6820E; padding:20px 24px; text-align:center; }
.header span { font-size:22px; font-weight:700; color:#fff; letter-spacing:0.5px; }
.content { padding:32px 24px 24px; position:relative; overflow:hidden; }
.watermark { position:absolute; top:-30px; right:-50px; width:320px; height:320px; opacity:0.07; pointer-events:none; border:0; outline:none; }
.inner { position:relative; }
.title { color:#1a1a1a; font-size:16px; font-weight:600; margin:0 0 8px; }
.subtitle { color:#444; font-size:14px; line-height:1.6; margin:0 0 16px; }
.mfa-note { background:#FDF6EC; border:1px solid #e8e0d4; border-radius:6px; padding:12px 16px; margin:0 0 16px; }
.mfa-note p { color:#444; font-size:13px; line-height:1.5; margin:0; }
.hint { color:#888; font-size:13px; line-height:1.5; margin:0 0 16px; }
.detail { color:#888; font-size:13px; line-height:1.5; margin:0; }
.footer { border-top:1px solid #e8e0d4; padding:16px 24px; text-align:center; }
.footer p { margin:0; }
.footer .contact { color:#999; font-size:12px; }
.footer .tagline { color:#bbb; font-size:11px; margin-top:6px; }
</style>
</head> </head>
<body> <body style="margin:0;padding:0;background:#f5f1eb;">
<div class="wrapper"> <div style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;max-width:480px;margin:0 auto;background:#ffffff;border-radius:8px;overflow:hidden;border:1px solid #e8e0d4;">
<div class="header"> <div style="background:#C6820E;padding:20px 24px;text-align:center;">
<span>Cameleer.io</span> <span style="font-size:22px;font-weight:700;color:#ffffff;letter-spacing:0.5px;">Cameleer.io</span>
</div> </div>
<div class="content"> <div style="padding:32px 24px 24px;position:relative;overflow:hidden;">
<img src="{{watermarkUrl}}" class="watermark" alt="" /> <img src="{{watermarkUrl}}" style="position:absolute;top:-30px;right:-50px;width:320px;height:320px;opacity:0.07;pointer-events:none;border:0;outline:none;" alt="" />
<div class="inner"> <div style="position:relative;">
<p class="title">Your password was reset</p> <p style="color:#1a1a1a;font-size:16px;font-weight:600;margin:0 0 8px;">Your password was reset</p>
<p class="subtitle">Your Cameleer account password was successfully changed on {{timestamp}}.</p> <p style="color:#444;font-size:14px;line-height:1.6;margin:0 0 16px;">Your Cameleer account password was successfully changed on {{timestamp}}.</p>
<div class="mfa-note"> <div style="background:#FDF6EC;border:1px solid #e8e0d4;border-radius:6px;padding:12px 16px;margin:0 0 16px;">
<p><strong>Note:</strong> Multi-factor authentication (MFA) was not required for this password reset. We recommend enabling MFA to add an extra layer of security to your account.</p> <p style="color:#444;font-size:13px;line-height:1.5;margin:0;"><strong>Note:</strong> Multi-factor authentication (MFA) was not required for this password reset. We recommend enabling MFA to add an extra layer of security to your account.</p>
</div> </div>
<p class="hint">If this wasn't you, contact your administrator immediately.</p> <p style="color:#888;font-size:13px;line-height:1.5;margin:0 0 16px;">If this wasn't you, contact your administrator immediately.</p>
<p class="detail">This is an automated security notification from your Cameleer account. Cameleer is an observability platform for Apache Camel integrations providing real-time route tracing, message inspection, and performance monitoring. You are receiving this notification because a password change was completed. For your security, we recommend reviewing your account activity and ensuring your credentials are kept safe.</p> <p style="color:#888;font-size:13px;line-height:1.5;margin:0;">This is an automated security notification from your Cameleer account. Cameleer is an observability platform for Apache Camel integrations providing real-time route tracing, message inspection, and performance monitoring. You are receiving this notification because a password change was completed. For your security, we recommend reviewing your account activity and ensuring your credentials are kept safe.</p>
</div> </div>
</div> </div>
<div class="footer"> <div style="border-top:1px solid #e8e0d4;padding:16px 24px;text-align:center;">
<p class="contact">Questions? Contact your administrator</p> <p style="color:#999;font-size:12px;margin:0;">Questions? Contact your administrator</p>
<p class="tagline">Cameleer — Apache Camel observability</p> <p style="color:#bbb;font-size:11px;margin:6px 0 0;">Cameleer — Apache Camel observability</p>
</div> </div>
</div> </div>
</body> </body>

View File

@@ -5,49 +5,29 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Your caravan pass is almost ready</title> <title>Your caravan pass is almost ready</title>
<style>
body { margin:0; padding:0; background:#f5f1eb; }
.wrapper { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; max-width:480px; margin:0 auto; background:#fff; border-radius:8px; overflow:hidden; border:1px solid #e8e0d4; }
.header { background:#C6820E; padding:20px 24px; text-align:center; }
.header span { font-size:22px; font-weight:700; color:#fff; letter-spacing:0.5px; }
.content { padding:32px 24px 24px; position:relative; overflow:hidden; }
.watermark { position:absolute; top:-30px; right:-50px; width:320px; height:320px; opacity:0.07; pointer-events:none; border:0; outline:none; }
.inner { position:relative; }
.title { color:#1a1a1a; font-size:16px; font-weight:600; margin:0 0 8px; }
.subtitle { color:#444; font-size:14px; line-height:1.6; margin:0 0 24px; }
.code-box { text-align:center; margin:0 0 24px; }
.code-box div { display:inline-block; background:#FDF6EC; border:2px solid #C6820E; border-radius:8px; padding:16px 32px; }
.code-box span { font-size:32px; font-weight:700; letter-spacing:8px; color:#C6820E; font-family:'Courier New',Courier,monospace; }
.hint { color:#888; font-size:13px; line-height:1.5; margin:0 0 16px; }
.detail { color:#888; font-size:13px; line-height:1.5; margin:0; }
.footer { border-top:1px solid #e8e0d4; padding:16px 24px; text-align:center; }
.footer p { margin:0; }
.footer .contact { color:#999; font-size:12px; }
.footer .tagline { color:#bbb; font-size:11px; margin-top:6px; }
</style>
</head> </head>
<body> <body style="margin:0;padding:0;background:#f5f1eb;">
<div class="wrapper"> <div style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;max-width:480px;margin:0 auto;background:#ffffff;border-radius:8px;overflow:hidden;border:1px solid #e8e0d4;">
<div class="header"> <div style="background:#C6820E;padding:20px 24px;text-align:center;">
<span>Cameleer.io</span> <span style="font-size:22px;font-weight:700;color:#ffffff;letter-spacing:0.5px;">Cameleer.io</span>
</div> </div>
<div class="content"> <div style="padding:32px 24px 24px;position:relative;overflow:hidden;">
<img src="{{watermarkUrl}}" class="watermark" alt="" /> <img src="{{watermarkUrl}}" style="position:absolute;top:-30px;right:-50px;width:320px;height:320px;opacity:0.07;pointer-events:none;border:0;outline:none;" alt="" />
<div class="inner"> <div style="position:relative;">
<p class="title">Welcome to the caravan!</p> <p style="color:#1a1a1a;font-size:16px;font-weight:600;margin:0 0 8px;">Welcome to the caravan!</p>
<p class="subtitle">Enter this code to verify your email and claim your spot. The dunes wait for no one.</p> <p style="color:#444;font-size:14px;line-height:1.6;margin:0 0 24px;">Enter this code to verify your email and claim your spot. The dunes wait for no one.</p>
<div class="code-box"> <div style="text-align:center;margin:0 0 24px;">
<div> <div style="display:inline-block;background:#FDF6EC;border:2px solid #C6820E;border-radius:8px;padding:16px 32px;">
<span>{{code}}</span> <span style="font-size:32px;font-weight:700;letter-spacing:8px;color:#C6820E;font-family:'Courier New',Courier,monospace;">{{code}}</span>
</div>
</div> </div>
</div> <p style="color:#888;font-size:13px;line-height:1.5;margin:0 0 16px;">This code expires in 10 minutes. If you didn't request this, you can safely ignore this email — no camels were harmed.</p>
<p class="hint">This code expires in 10 minutes. If you didn't request this, you can safely ignore this email — no camels were harmed.</p> <p style="color:#888;font-size:13px;line-height:1.5;margin:0;">Cameleer is an observability platform for Apache Camel integrations. It provides real-time route tracing, message inspection, and performance monitoring to help your team debug and optimize integration flows. Your account gives you access to your dedicated Cameleer instance where you can connect your Camel applications and start monitoring immediately.</p>
<p class="detail">Cameleer is an observability platform for Apache Camel integrations. It provides real-time route tracing, message inspection, and performance monitoring to help your team debug and optimize integration flows. Your account gives you access to your dedicated Cameleer instance where you can connect your Camel applications and start monitoring immediately.</p>
</div> </div>
</div> </div>
<div class="footer"> <div style="border-top:1px solid #e8e0d4;padding:16px 24px;text-align:center;">
<p class="contact">Questions? Contact your administrator</p> <p style="color:#999;font-size:12px;margin:0;">Questions? Contact your administrator</p>
<p class="tagline">Cameleer — Apache Camel observability</p> <p style="color:#bbb;font-size:11px;margin:6px 0 0;">Cameleer — Apache Camel observability</p>
</div> </div>
</div> </div>
</body> </body>

View File

@@ -5,49 +5,29 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Your Cameleer sign-in code</title> <title>Your Cameleer sign-in code</title>
<style>
body { margin:0; padding:0; background:#f5f1eb; }
.wrapper { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; max-width:480px; margin:0 auto; background:#fff; border-radius:8px; overflow:hidden; border:1px solid #e8e0d4; }
.header { background:#C6820E; padding:20px 24px; text-align:center; }
.header span { font-size:22px; font-weight:700; color:#fff; letter-spacing:0.5px; }
.content { padding:32px 24px 24px; position:relative; overflow:hidden; }
.watermark { position:absolute; top:-30px; right:-50px; width:320px; height:320px; opacity:0.07; pointer-events:none; border:0; outline:none; }
.inner { position:relative; }
.title { color:#1a1a1a; font-size:16px; font-weight:600; margin:0 0 8px; }
.subtitle { color:#444; font-size:14px; line-height:1.6; margin:0 0 24px; }
.code-box { text-align:center; margin:0 0 24px; }
.code-box div { display:inline-block; background:#FDF6EC; border:2px solid #C6820E; border-radius:8px; padding:16px 32px; }
.code-box span { font-size:32px; font-weight:700; letter-spacing:8px; color:#C6820E; font-family:'Courier New',Courier,monospace; }
.hint { color:#888; font-size:13px; line-height:1.5; margin:0 0 16px; }
.detail { color:#888; font-size:13px; line-height:1.5; margin:0; }
.footer { border-top:1px solid #e8e0d4; padding:16px 24px; text-align:center; }
.footer p { margin:0; }
.footer .contact { color:#999; font-size:12px; }
.footer .tagline { color:#bbb; font-size:11px; margin-top:6px; }
</style>
</head> </head>
<body> <body style="margin:0;padding:0;background:#f5f1eb;">
<div class="wrapper"> <div style="font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;max-width:480px;margin:0 auto;background:#ffffff;border-radius:8px;overflow:hidden;border:1px solid #e8e0d4;">
<div class="header"> <div style="background:#C6820E;padding:20px 24px;text-align:center;">
<span>Cameleer.io</span> <span style="font-size:22px;font-weight:700;color:#ffffff;letter-spacing:0.5px;">Cameleer.io</span>
</div> </div>
<div class="content"> <div style="padding:32px 24px 24px;position:relative;overflow:hidden;">
<img src="{{watermarkUrl}}" class="watermark" alt="" /> <img src="{{watermarkUrl}}" style="position:absolute;top:-30px;right:-50px;width:320px;height:320px;opacity:0.07;pointer-events:none;border:0;outline:none;" alt="" />
<div class="inner"> <div style="position:relative;">
<p class="title">Back at the oasis already?</p> <p style="color:#1a1a1a;font-size:16px;font-weight:600;margin:0 0 8px;">Back at the oasis already?</p>
<p class="subtitle">Here's your sign-in code. The caravan master is checking credentials.</p> <p style="color:#444;font-size:14px;line-height:1.6;margin:0 0 24px;">Here's your sign-in code. The caravan master is checking credentials.</p>
<div class="code-box"> <div style="text-align:center;margin:0 0 24px;">
<div> <div style="display:inline-block;background:#FDF6EC;border:2px solid #C6820E;border-radius:8px;padding:16px 32px;">
<span>{{code}}</span> <span style="font-size:32px;font-weight:700;letter-spacing:8px;color:#C6820E;font-family:'Courier New',Courier,monospace;">{{code}}</span>
</div>
</div> </div>
</div> <p style="color:#888;font-size:13px;line-height:1.5;margin:0 0 16px;">This code expires in 10 minutes.</p>
<p class="hint">This code expires in 10 minutes.</p> <p style="color:#888;font-size:13px;line-height:1.5;margin:0;">You are receiving this email because a sign-in attempt was made on your Cameleer account. Cameleer is an observability platform for Apache Camel integrations providing real-time route tracing, message inspection, and performance monitoring. If you did not initiate this sign-in, please ignore this email or contact your administrator.</p>
<p class="detail">You are receiving this email because a sign-in attempt was made on your Cameleer account. Cameleer is an observability platform for Apache Camel integrations providing real-time route tracing, message inspection, and performance monitoring. If you did not initiate this sign-in, please ignore this email or contact your administrator.</p>
</div> </div>
</div> </div>
<div class="footer"> <div style="border-top:1px solid #e8e0d4;padding:16px 24px;text-align:center;">
<p class="contact">Questions? Contact your administrator</p> <p style="color:#999;font-size:12px;margin:0;">Questions? Contact your administrator</p>
<p class="tagline">Cameleer — Apache Camel observability</p> <p style="color:#bbb;font-size:11px;margin:6px 0 0;">Cameleer — Apache Camel observability</p>
</div> </div>
</div> </div>
</body> </body>