diff options
Diffstat (limited to 'lib/mail/templates/password-reset.hbs')
| -rw-r--r-- | lib/mail/templates/password-reset.hbs | 269 |
1 files changed, 269 insertions, 0 deletions
diff --git a/lib/mail/templates/password-reset.hbs b/lib/mail/templates/password-reset.hbs new file mode 100644 index 00000000..7a9029cc --- /dev/null +++ b/lib/mail/templates/password-reset.hbs @@ -0,0 +1,269 @@ +<!-- templates/password-reset.hbs -->
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>비밀번호 재설정 | Password Reset</title>
+ <style>
+ /* Reset styles */
+ body, table, td, p, a, li, blockquote {
+ -webkit-text-size-adjust: 100%;
+ -ms-text-size-adjust: 100%;
+ }
+ table, td {
+ mso-table-lspace: 0pt;
+ mso-table-rspace: 0pt;
+ }
+ img {
+ -ms-interpolation-mode: bicubic;
+ border: 0;
+ height: auto;
+ line-height: 100%;
+ outline: none;
+ text-decoration: none;
+ }
+
+ /* Main styles */
+ body {
+ margin: 0 !important;
+ padding: 0 !important;
+ background-color: #f4f4f4;
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
+ }
+
+ .email-container {
+ max-width: 600px;
+ margin: 0 auto;
+ background-color: #ffffff;
+ }
+
+ .header {
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
+ padding: 40px 20px;
+ text-align: center;
+ }
+
+ .header h1 {
+ color: #ffffff;
+ margin: 0;
+ font-size: 28px;
+ font-weight: 600;
+ line-height: 1.4;
+ }
+
+ .logo {
+ color: #ffffff;
+ font-size: 24px;
+ font-weight: bold;
+ margin-bottom: 10px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ gap: 8px;
+ }
+
+ .content {
+ padding: 40px 30px;
+ }
+
+ .greeting {
+ font-size: 18px;
+ color: #333333;
+ margin-bottom: 20px;
+ font-weight: 500;
+ line-height: 1.6;
+ }
+
+ .message {
+ font-size: 16px;
+ color: #555555;
+ line-height: 1.6;
+ margin-bottom: 30px;
+ }
+
+ .reset-button {
+ text-align: center;
+ margin: 30px 0;
+ }
+
+ .reset-button a {
+ display: inline-block;
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
+ color: #ffffff !important;
+ text-decoration: none;
+ padding: 15px 40px;
+ border-radius: 6px;
+ font-weight: 600;
+ font-size: 16px;
+ box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
+ transition: all 0.3s ease;
+ }
+
+ .reset-button a:hover {
+ background: linear-gradient(135deg, #5a6fd8 0%, #6a4190 100%);
+ box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
+ transform: translateY(-2px);
+ }
+
+ .warning {
+ background-color: #fff3cd;
+ border: 1px solid #ffeaa7;
+ border-radius: 6px;
+ padding: 20px;
+ margin: 30px 0;
+ }
+
+ .warning-title {
+ color: #856404;
+ font-weight: 600;
+ margin-bottom: 8px;
+ font-size: 16px;
+ line-height: 1.5;
+ }
+
+ .warning-text {
+ color: #856404;
+ font-size: 14px;
+ line-height: 1.6;
+ }
+
+ .footer {
+ background-color: #f8f9fa;
+ padding: 30px;
+ text-align: center;
+ border-top: 1px solid #e9ecef;
+ }
+
+ .footer-text {
+ color: #6c757d;
+ font-size: 14px;
+ line-height: 1.5;
+ margin-bottom: 15px;
+ }
+
+ .support-info {
+ color: #6c757d;
+ font-size: 13px;
+ line-height: 1.5;
+ }
+
+ .support-info a {
+ color: #667eea;
+ text-decoration: none;
+ }
+
+ .divider {
+ height: 1px;
+ background-color: #e9ecef;
+ margin: 30px 0;
+ }
+
+ .lang-separator {
+ margin: 15px 0;
+ color: #999;
+ font-size: 14px;
+ }
+
+ /* Mobile responsiveness */
+ @media only screen and (max-width: 600px) {
+ .email-container {
+ width: 100% !important;
+ }
+
+ .content {
+ padding: 30px 20px !important;
+ }
+
+ .header {
+ padding: 30px 20px !important;
+ }
+
+ .header h1 {
+ font-size: 24px !important;
+ }
+
+ .reset-button a {
+ padding: 12px 30px !important;
+ font-size: 15px !important;
+ }
+ }
+ </style>
+</head>
+<body>
+ <div class="email-container">
+ <!-- Header -->
+ <div class="header">
+ <div class="logo">
+ 🚢 eVCP
+ </div>
+ <h1>
+ 비밀번호 재설정<br>
+ <div class="lang-separator">Password Reset</div>
+ </h1>
+ </div>
+
+ <!-- Content -->
+ <div class="content">
+ <div class="greeting">
+ 안녕하세요, {{userName}}님!<br>
+ <div class="lang-separator">Hello, {{userName}}!</div>
+ </div>
+
+ <div class="message">
+ eVCP 계정의 비밀번호 재설정을 요청하셨습니다. 아래 버튼을 클릭하여 새로운 비밀번호를 설정해주세요.<br><br>
+ You have requested to reset your eVCP account password. Please click the button below to set a new password.
+ </div>
+
+ <div class="reset-button">
+ <a href="{{resetLink}}" target="_blank">
+ 비밀번호 재설정하기 | Reset Password
+ </a>
+ </div>
+
+ <div class="warning">
+ <div class="warning-title">
+ ⚠️ 중요한 보안 안내 | Important Security Notice
+ </div>
+ <div class="warning-text">
+ <strong>한국어:</strong><br>
+ • 이 링크는 <strong>{{expiryTime}}</strong> 후에 만료됩니다<br>
+ • 보안을 위해 링크는 한 번만 사용 가능합니다<br>
+ • 비밀번호 재설정을 요청하지 않으셨다면 이 이메일을 무시하세요<br><br>
+
+ <strong>English:</strong><br>
+ • This link will expire in <strong>{{expiryTime}}</strong><br>
+ • For security, this link can only be used once<br>
+ • If you didn't request this reset, please ignore this email
+ </div>
+ </div>
+
+ <div class="divider"></div>
+
+ <div class="message">
+ 버튼이 작동하지 않는 경우, 아래 링크를 복사하여 브라우저에 직접 붙여넣어 주세요:<br><br>
+ If the button doesn't work, copy and paste the following link into your browser:
+ </div>
+
+ <div style="background-color: #f8f9fa; padding: 15px; border-radius: 4px; word-break: break-all; font-family: monospace; font-size: 13px; color: #495057; margin: 15px 0;">
+ {{resetLink}}
+ </div>
+ </div>
+
+ <!-- Footer -->
+ <div class="footer">
+ <div class="footer-text">
+ 이 이메일은 eVCP 시스템에서 자동으로 발송되었습니다.<br>
+ 문의사항이 있으시면 고객지원팀에 연락해주세요.<br><br>
+ This email was sent automatically by the eVCP system.<br>
+ If you have any questions, please contact our support team.
+ </div>
+
+ <div class="support-info">
+ 지원팀 | Support: <a href="mailto:{{supportEmail}}">{{supportEmail}}</a><br>
+ © 2024 eVCP. 모든 권리 보유. | All rights reserved.
+ </div>
+ </div>
+ </div>
+</body>
+</html>
\ No newline at end of file |
