update
This commit is contained in:
Binary file not shown.
@@ -101,6 +101,8 @@ def send_contact_submission_notification(submission):
|
||||
# Prepare email context
|
||||
context = {
|
||||
'submission': submission,
|
||||
'logo_url': f'{settings.SITE_URL}/images/logo.png',
|
||||
'site_url': settings.SITE_URL,
|
||||
}
|
||||
|
||||
# Render email templates
|
||||
@@ -170,45 +172,36 @@ def send_contact_submission_confirmation(submission):
|
||||
# Prepare email context
|
||||
context = {
|
||||
'submission': submission,
|
||||
'logo_url': f'{settings.SITE_URL}/images/logo.png',
|
||||
'site_url': settings.SITE_URL,
|
||||
}
|
||||
|
||||
# Create simple confirmation email
|
||||
# Create confirmation email
|
||||
subject = "Thank you for contacting GNX Software Solutions"
|
||||
|
||||
# Simple text email for confirmation
|
||||
message = f"""
|
||||
Dear {submission.full_name},
|
||||
|
||||
Thank you for reaching out to GNX Software Solutions!
|
||||
|
||||
We have received your inquiry about {submission.get_project_type_display() if submission.project_type else 'your project'} and will review it carefully.
|
||||
|
||||
Here are the details of your submission:
|
||||
- Submission ID: #{submission.id}
|
||||
- Company: {submission.company}
|
||||
- Project Type: {submission.get_project_type_display() if submission.project_type else 'Not specified'}
|
||||
- Timeline: {submission.get_timeline_display() if submission.timeline else 'Not specified'}
|
||||
|
||||
Our team will contact you within 24 hours to discuss your project requirements and how we can help you achieve your goals.
|
||||
|
||||
If you have any urgent questions, please don't hesitate to contact us directly.
|
||||
|
||||
Best regards,
|
||||
The GNX Team
|
||||
|
||||
---
|
||||
GNX Software Solutions
|
||||
Email: {settings.DEFAULT_FROM_EMAIL}
|
||||
"""
|
||||
# Render HTML email template
|
||||
html_content = render_to_string(
|
||||
'contact/contact_submission_confirmation.html',
|
||||
context
|
||||
)
|
||||
|
||||
# Render text email template
|
||||
text_content = render_to_string(
|
||||
'contact/contact_submission_confirmation.txt',
|
||||
context
|
||||
)
|
||||
|
||||
# Create email message
|
||||
email = EmailMultiAlternatives(
|
||||
subject=subject,
|
||||
body=message,
|
||||
body=text_content,
|
||||
from_email=settings.DEFAULT_FROM_EMAIL,
|
||||
to=[submission.email]
|
||||
)
|
||||
|
||||
# Attach HTML version
|
||||
email.attach_alternative(html_content, "text/html")
|
||||
|
||||
# Send email with retry logic
|
||||
success = _send_email_with_retry(email)
|
||||
|
||||
|
||||
@@ -0,0 +1,406 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Thank You for Contacting GNX</title>
|
||||
<style>
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
line-height: 1.7;
|
||||
color: #2c3e50;
|
||||
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
margin: 0;
|
||||
padding: 40px 20px;
|
||||
}
|
||||
|
||||
.email-wrapper {
|
||||
max-width: 650px;
|
||||
margin: 0 auto;
|
||||
background: #ffffff;
|
||||
border-radius: 16px;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
|
||||
.email-header {
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #8b5cf6 100%);
|
||||
padding: 50px 40px;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.email-header::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: -50%;
|
||||
right: -50%;
|
||||
width: 200%;
|
||||
height: 200%;
|
||||
background: radial-gradient(circle, rgba(255, 255, 255, 0.15) 0%, transparent 70%);
|
||||
animation: pulse 8s ease-in-out infinite;
|
||||
}
|
||||
|
||||
@keyframes pulse {
|
||||
0%, 100% { transform: scale(1); opacity: 0.5; }
|
||||
50% { transform: scale(1.1); opacity: 0.8; }
|
||||
}
|
||||
|
||||
.email-header h1 {
|
||||
color: #ffffff;
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
margin: 0;
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
letter-spacing: -0.5px;
|
||||
text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
.email-header .subtitle {
|
||||
color: rgba(255, 255, 255, 0.9);
|
||||
font-size: 16px;
|
||||
margin-top: 12px;
|
||||
font-weight: 300;
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.email-body {
|
||||
padding: 50px 40px;
|
||||
background: #ffffff;
|
||||
}
|
||||
|
||||
.greeting {
|
||||
font-size: 20px;
|
||||
color: #1e293b;
|
||||
margin-bottom: 30px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.intro-text {
|
||||
font-size: 16px;
|
||||
color: #475569;
|
||||
line-height: 1.9;
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.thank-you-box {
|
||||
background: linear-gradient(135deg, rgba(102, 126, 234, 0.08) 0%, rgba(102, 126, 234, 0.03) 100%);
|
||||
border: 2px solid rgba(102, 126, 234, 0.2);
|
||||
border-left: 5px solid #667eea;
|
||||
padding: 30px;
|
||||
margin: 35px 0;
|
||||
border-radius: 12px;
|
||||
text-align: center;
|
||||
box-shadow: 0 4px 20px rgba(102, 126, 234, 0.1);
|
||||
}
|
||||
|
||||
.thank-you-box .icon {
|
||||
font-size: 48px;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.thank-you-box h2 {
|
||||
color: #1e293b;
|
||||
font-size: 24px;
|
||||
font-weight: 700;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.thank-you-box p {
|
||||
color: #475569;
|
||||
font-size: 15px;
|
||||
line-height: 1.7;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.details-box {
|
||||
background: linear-gradient(135deg, rgba(218, 165, 32, 0.08) 0%, rgba(218, 165, 32, 0.03) 100%);
|
||||
border: 2px solid rgba(218, 165, 32, 0.2);
|
||||
border-left: 5px solid #daa520;
|
||||
padding: 30px;
|
||||
margin: 35px 0;
|
||||
border-radius: 12px;
|
||||
box-shadow: 0 4px 20px rgba(218, 165, 32, 0.1);
|
||||
}
|
||||
|
||||
.details-box h3 {
|
||||
font-size: 18px;
|
||||
font-weight: 700;
|
||||
color: #0f172a;
|
||||
margin-bottom: 25px;
|
||||
padding-bottom: 12px;
|
||||
border-bottom: 2px solid rgba(218, 165, 32, 0.2);
|
||||
}
|
||||
|
||||
.details-list {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.details-list li {
|
||||
padding: 15px 0;
|
||||
border-bottom: 1px solid rgba(218, 165, 32, 0.1);
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.details-list li:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.details-list strong {
|
||||
color: #475569;
|
||||
min-width: 140px;
|
||||
font-size: 14px;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
|
||||
.details-list span {
|
||||
color: #1e293b;
|
||||
font-size: 15px;
|
||||
font-weight: 500;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.next-steps {
|
||||
background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
|
||||
border-left: 4px solid #667eea;
|
||||
padding: 30px;
|
||||
border-radius: 12px;
|
||||
margin-top: 40px;
|
||||
}
|
||||
|
||||
.next-steps h3 {
|
||||
color: #0f172a;
|
||||
font-size: 20px;
|
||||
font-weight: 700;
|
||||
margin-bottom: 15px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.next-steps h3::before {
|
||||
content: '⏰';
|
||||
margin-right: 10px;
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.next-steps p {
|
||||
color: #475569;
|
||||
font-size: 15px;
|
||||
line-height: 1.8;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.next-steps p:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.contact-info {
|
||||
background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
|
||||
border-left: 4px solid #3b82f6;
|
||||
padding: 25px;
|
||||
border-radius: 8px;
|
||||
margin-top: 35px;
|
||||
}
|
||||
|
||||
.contact-info strong {
|
||||
color: #1e40af;
|
||||
font-size: 15px;
|
||||
display: block;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.contact-info p {
|
||||
color: #1e3a8a;
|
||||
font-size: 14px;
|
||||
margin: 5px 0;
|
||||
line-height: 1.7;
|
||||
}
|
||||
|
||||
.closing {
|
||||
margin-top: 40px;
|
||||
font-size: 16px;
|
||||
color: #1e293b;
|
||||
line-height: 1.8;
|
||||
}
|
||||
|
||||
.closing strong {
|
||||
color: #0f172a;
|
||||
font-size: 17px;
|
||||
}
|
||||
|
||||
.email-footer {
|
||||
background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
|
||||
padding: 40px;
|
||||
text-align: center;
|
||||
color: rgba(255, 255, 255, 0.9);
|
||||
}
|
||||
|
||||
.footer-company {
|
||||
font-size: 18px;
|
||||
font-weight: 700;
|
||||
color: #ffffff;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.footer-tagline {
|
||||
font-size: 14px;
|
||||
color: rgba(255, 255, 255, 0.7);
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
|
||||
.footer-links {
|
||||
margin: 25px 0;
|
||||
padding-top: 25px;
|
||||
border-top: 1px solid rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
|
||||
.footer-links a {
|
||||
color: #daa520;
|
||||
text-decoration: none;
|
||||
font-weight: 600;
|
||||
font-size: 14px;
|
||||
margin: 0 15px;
|
||||
}
|
||||
|
||||
.footer-links a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.footer-note {
|
||||
font-size: 12px;
|
||||
color: rgba(255, 255, 255, 0.6);
|
||||
margin-top: 25px;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
body {
|
||||
padding: 20px 10px;
|
||||
}
|
||||
|
||||
.email-header {
|
||||
padding: 40px 25px;
|
||||
}
|
||||
|
||||
.email-header h1 {
|
||||
font-size: 26px;
|
||||
}
|
||||
|
||||
.email-body {
|
||||
padding: 35px 25px;
|
||||
}
|
||||
|
||||
.details-list li {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.details-list strong {
|
||||
min-width: auto;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="email-wrapper">
|
||||
<div class="email-header">
|
||||
<h1>Thank You for Contacting Us!</h1>
|
||||
<div class="subtitle">GNX Software Solutions</div>
|
||||
</div>
|
||||
|
||||
<div class="email-body">
|
||||
<div class="greeting">Dear {{ submission.full_name }},</div>
|
||||
|
||||
<div class="intro-text">
|
||||
Thank you for reaching out to GNX Software Solutions! We have received your inquiry and our team is excited to learn more about your project. We appreciate you taking the time to contact us.
|
||||
</div>
|
||||
|
||||
<div class="thank-you-box">
|
||||
<div class="icon">✨</div>
|
||||
<h2>We've Received Your Submission</h2>
|
||||
<p>Your message has been successfully delivered to our team. We'll review your inquiry carefully and get back to you soon.</p>
|
||||
</div>
|
||||
|
||||
<div class="details-box">
|
||||
<h3>Your Submission Details</h3>
|
||||
<ul class="details-list">
|
||||
<li>
|
||||
<strong>Submission ID:</strong>
|
||||
<span>#{{ submission.id }}</span>
|
||||
</li>
|
||||
<li>
|
||||
<strong>Company:</strong>
|
||||
<span>{{ submission.company }}</span>
|
||||
</li>
|
||||
{% if submission.project_type %}
|
||||
<li>
|
||||
<strong>Project Type:</strong>
|
||||
<span>{{ submission.get_project_type_display }}</span>
|
||||
</li>
|
||||
{% else %}
|
||||
<li>
|
||||
<strong>Project Type:</strong>
|
||||
<span>Not specified</span>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% if submission.timeline %}
|
||||
<li>
|
||||
<strong>Timeline:</strong>
|
||||
<span>{{ submission.get_timeline_display }}</span>
|
||||
</li>
|
||||
{% else %}
|
||||
<li>
|
||||
<strong>Timeline:</strong>
|
||||
<span>Not specified</span>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="next-steps">
|
||||
<h3>What Happens Next?</h3>
|
||||
<p>Our team will contact you within <strong>24 hours</strong> to discuss your project requirements and how we can help you achieve your goals. We'll review your submission and prepare a tailored response based on your needs.</p>
|
||||
<p>If you have any urgent questions or need immediate assistance, please don't hesitate to contact us directly using the information below.</p>
|
||||
</div>
|
||||
|
||||
<div class="contact-info">
|
||||
<strong>Need Immediate Assistance?</strong>
|
||||
<p>📧 Email: support@gnxsoft.com</p>
|
||||
<p>🌐 Website: <a href="{{ site_url }}" style="color: #1e40af; text-decoration: none;">{{ site_url }}</a></p>
|
||||
</div>
|
||||
|
||||
<div class="closing">
|
||||
We look forward to working with you!<br><br>
|
||||
<strong>Best regards,<br>The GNX Team</strong>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="email-footer">
|
||||
<div class="footer-company">GNX Software Solutions</div>
|
||||
<div class="footer-tagline">Transforming Ideas into Digital Excellence</div>
|
||||
|
||||
<div class="footer-links">
|
||||
<a href="{{ site_url }}">Visit Our Website</a>
|
||||
</div>
|
||||
|
||||
<div class="footer-note">
|
||||
This is an automated confirmation email. Please do not reply directly to this message.<br>
|
||||
For inquiries, please contact us through our website or email.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
THANK YOU FOR CONTACTING GNX SOFTWARE SOLUTIONS
|
||||
================================================
|
||||
|
||||
Dear {{ submission.full_name }},
|
||||
|
||||
Thank you for reaching out to GNX Software Solutions!
|
||||
|
||||
We have received your inquiry about {% if submission.project_type %}{{ submission.get_project_type_display }}{% else %}your project{% endif %} and will review it carefully.
|
||||
|
||||
YOUR SUBMISSION DETAILS:
|
||||
------------------------
|
||||
Submission ID: #{{ submission.id }}
|
||||
Company: {{ submission.company }}
|
||||
Project Type: {% if submission.project_type %}{{ submission.get_project_type_display }}{% else %}Not specified{% endif %}
|
||||
Timeline: {% if submission.timeline %}{{ submission.get_timeline_display }}{% else %}Not specified{% endif %}
|
||||
|
||||
WHAT HAPPENS NEXT?
|
||||
------------------
|
||||
Our team will contact you within 24 hours to discuss your project requirements and how we can help you achieve your goals.
|
||||
|
||||
If you have any urgent questions, please don't hesitate to contact us directly.
|
||||
|
||||
Best regards,
|
||||
The GNX Team
|
||||
|
||||
---
|
||||
GNX Software Solutions
|
||||
Email: support@gnxsoft.com
|
||||
Website: {{ site_url }}
|
||||
|
||||
This is an automated confirmation email. Please do not reply directly to this message.
|
||||
|
||||
@@ -12,106 +12,107 @@
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
line-height: 1.6;
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
line-height: 1.7;
|
||||
color: #2c3e50;
|
||||
background-color: #f8f9fa;
|
||||
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
|
||||
margin: 0;
|
||||
padding: 20px;
|
||||
padding: 40px 20px;
|
||||
}
|
||||
|
||||
.email-container {
|
||||
max-width: 700px;
|
||||
.email-wrapper {
|
||||
max-width: 750px;
|
||||
margin: 0 auto;
|
||||
background-color: #ffffff;
|
||||
border-radius: 12px;
|
||||
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
|
||||
background: #ffffff;
|
||||
border-radius: 16px;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
|
||||
.email-header {
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #8b5cf6 100%);
|
||||
padding: 50px 40px;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.header {
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
color: white;
|
||||
padding: 40px 30px;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.header::before {
|
||||
.email-header::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: radial-gradient(circle at 20% 80%, rgba(255,255,255,0.1) 0%, transparent 50%),
|
||||
radial-gradient(circle at 80% 20%, rgba(255,255,255,0.1) 0%, transparent 50%);
|
||||
opacity: 0.3;
|
||||
top: -50%;
|
||||
right: -50%;
|
||||
width: 200%;
|
||||
height: 200%;
|
||||
background: radial-gradient(circle, rgba(255, 255, 255, 0.15) 0%, transparent 70%);
|
||||
}
|
||||
|
||||
.header-content {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.header h1 {
|
||||
font-size: 28px;
|
||||
.email-header h1 {
|
||||
color: #ffffff;
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
margin-bottom: 8px;
|
||||
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
|
||||
margin: 0;
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
letter-spacing: -0.5px;
|
||||
text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
.header p {
|
||||
.email-header .subtitle {
|
||||
color: rgba(255, 255, 255, 0.9);
|
||||
font-size: 16px;
|
||||
opacity: 0.9;
|
||||
margin-top: 12px;
|
||||
font-weight: 300;
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.priority-badge {
|
||||
display: inline-block;
|
||||
padding: 8px 16px;
|
||||
border-radius: 20px;
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
padding: 10px 24px;
|
||||
border-radius: 25px;
|
||||
font-size: 13px;
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.5px;
|
||||
margin-top: 15px;
|
||||
letter-spacing: 1px;
|
||||
margin-top: 20px;
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
.priority-urgent {
|
||||
background-color: #ff4757;
|
||||
background: linear-gradient(135deg, #ff4757, #ee5a6f);
|
||||
color: white;
|
||||
box-shadow: 0 4px 15px rgba(255, 71, 87, 0.3);
|
||||
}
|
||||
|
||||
.priority-high {
|
||||
background-color: #ff6b35;
|
||||
background: linear-gradient(135deg, #ff6b35, #ff8c42);
|
||||
color: white;
|
||||
box-shadow: 0 4px 15px rgba(255, 107, 53, 0.3);
|
||||
}
|
||||
|
||||
.priority-medium {
|
||||
background-color: #ffa726;
|
||||
background: linear-gradient(135deg, #ffa726, #ffb74d);
|
||||
color: white;
|
||||
box-shadow: 0 4px 15px rgba(255, 167, 38, 0.3);
|
||||
}
|
||||
|
||||
.priority-low {
|
||||
background-color: #66bb6a;
|
||||
background: linear-gradient(135deg, #66bb6a, #81c784);
|
||||
color: white;
|
||||
box-shadow: 0 4px 15px rgba(102, 187, 106, 0.3);
|
||||
}
|
||||
|
||||
.content {
|
||||
padding: 40px 30px;
|
||||
.email-body {
|
||||
padding: 50px 40px;
|
||||
background: #ffffff;
|
||||
}
|
||||
|
||||
.section {
|
||||
margin-bottom: 30px;
|
||||
background-color: #ffffff;
|
||||
margin-bottom: 35px;
|
||||
background: #ffffff;
|
||||
border-radius: 12px;
|
||||
border: 1px solid #e9ecef;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
@@ -121,14 +122,14 @@
|
||||
}
|
||||
|
||||
.section-header {
|
||||
background: linear-gradient(90deg, #f8f9fa 0%, #e9ecef 100%);
|
||||
padding: 20px 25px;
|
||||
background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
|
||||
padding: 22px 28px;
|
||||
border-bottom: 1px solid #dee2e6;
|
||||
}
|
||||
|
||||
.section h3 {
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
font-weight: 700;
|
||||
color: #2c3e50;
|
||||
margin: 0;
|
||||
display: flex;
|
||||
@@ -136,18 +137,18 @@
|
||||
}
|
||||
|
||||
.section-icon {
|
||||
font-size: 20px;
|
||||
font-size: 22px;
|
||||
margin-right: 12px;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.section-body {
|
||||
padding: 25px;
|
||||
padding: 28px;
|
||||
}
|
||||
|
||||
.field {
|
||||
margin-bottom: 18px;
|
||||
margin-bottom: 20px;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: flex-start;
|
||||
@@ -158,39 +159,55 @@
|
||||
}
|
||||
|
||||
.field-label {
|
||||
font-weight: 600;
|
||||
font-weight: 700;
|
||||
color: #495057;
|
||||
min-width: 140px;
|
||||
margin-bottom: 5px;
|
||||
min-width: 160px;
|
||||
margin-bottom: 8px;
|
||||
font-size: 14px;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
|
||||
.field-value {
|
||||
flex: 1;
|
||||
color: #2c3e50;
|
||||
font-size: 15px;
|
||||
line-height: 1.5;
|
||||
line-height: 1.7;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.field-value a {
|
||||
color: #667eea;
|
||||
text-decoration: none;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.field-value a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.message-content {
|
||||
background-color: #f8f9fa;
|
||||
background: linear-gradient(135deg, #f8f9fa 0%, #f1f5f9 100%);
|
||||
border: 1px solid #e9ecef;
|
||||
border-left: 4px solid #daa520;
|
||||
border-radius: 8px;
|
||||
padding: 20px;
|
||||
margin-top: 10px;
|
||||
font-style: italic;
|
||||
line-height: 1.6;
|
||||
padding: 25px;
|
||||
margin-top: 12px;
|
||||
font-style: normal;
|
||||
line-height: 1.8;
|
||||
white-space: pre-wrap;
|
||||
color: #334155;
|
||||
}
|
||||
|
||||
.footer {
|
||||
background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);
|
||||
color: white;
|
||||
padding: 30px;
|
||||
.email-footer {
|
||||
background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
|
||||
padding: 40px;
|
||||
text-align: center;
|
||||
color: rgba(255, 255, 255, 0.9);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.footer::before {
|
||||
.email-footer::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
@@ -200,47 +217,58 @@
|
||||
background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.3) 50%, transparent 100%);
|
||||
}
|
||||
|
||||
.footer p {
|
||||
margin-bottom: 10px;
|
||||
font-size: 14px;
|
||||
opacity: 0.9;
|
||||
.footer-company {
|
||||
font-size: 18px;
|
||||
font-weight: 700;
|
||||
color: #ffffff;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.footer p:last-child {
|
||||
margin-bottom: 0;
|
||||
font-size: 12px;
|
||||
opacity: 0.7;
|
||||
.footer-tagline {
|
||||
font-size: 14px;
|
||||
color: rgba(255, 255, 255, 0.7);
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
|
||||
.footer-note {
|
||||
font-size: 13px;
|
||||
color: rgba(255, 255, 255, 0.8);
|
||||
margin-bottom: 15px;
|
||||
line-height: 1.7;
|
||||
}
|
||||
|
||||
.company-info {
|
||||
margin-top: 20px;
|
||||
padding-top: 20px;
|
||||
margin-top: 25px;
|
||||
padding-top: 25px;
|
||||
border-top: 1px solid rgba(255, 255, 255, 0.2);
|
||||
}
|
||||
|
||||
.company-info strong {
|
||||
color: #ecf0f1;
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
.company-info p {
|
||||
color: rgba(255, 255, 255, 0.7);
|
||||
font-size: 13px;
|
||||
margin: 5px 0;
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
body {
|
||||
padding: 10px;
|
||||
padding: 20px 10px;
|
||||
}
|
||||
|
||||
.email-container {
|
||||
border-radius: 8px;
|
||||
.email-header {
|
||||
padding: 40px 25px;
|
||||
}
|
||||
|
||||
.header {
|
||||
padding: 30px 20px;
|
||||
.email-header h1 {
|
||||
font-size: 26px;
|
||||
}
|
||||
|
||||
.header h1 {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.content {
|
||||
padding: 30px 20px;
|
||||
.email-body {
|
||||
padding: 35px 25px;
|
||||
}
|
||||
|
||||
.section-body {
|
||||
@@ -259,18 +287,16 @@
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="email-container">
|
||||
<div class="header">
|
||||
<div class="header-content">
|
||||
<h1>📧 New Contact Form Submission</h1>
|
||||
<p>GNX Software Solutions</p>
|
||||
<div class="priority-badge priority-{{ submission.priority }}">
|
||||
{{ submission.get_priority_display }} Priority
|
||||
</div>
|
||||
<div class="email-wrapper">
|
||||
<div class="email-header">
|
||||
<h1>📧 New Contact Form Submission</h1>
|
||||
<div class="subtitle">GNX Software Solutions</div>
|
||||
<div class="priority-badge priority-{{ submission.priority }}">
|
||||
{{ submission.get_priority_display }} Priority
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="email-body">
|
||||
<div class="section">
|
||||
<div class="section-header">
|
||||
<h3>
|
||||
@@ -286,7 +312,7 @@
|
||||
<div class="field">
|
||||
<span class="field-label">Priority:</span>
|
||||
<span class="field-value">
|
||||
<span class="priority-badge priority-{{ submission.priority }}" style="font-size: 11px; padding: 4px 8px;">
|
||||
<span class="priority-badge priority-{{ submission.priority }}" style="font-size: 11px; padding: 6px 12px;">
|
||||
{{ submission.get_priority_display }}
|
||||
</span>
|
||||
</span>
|
||||
@@ -317,14 +343,14 @@
|
||||
<div class="field">
|
||||
<span class="field-label">Email:</span>
|
||||
<span class="field-value">
|
||||
<a href="mailto:{{ submission.email }}" style="color: #667eea; text-decoration: none;">{{ submission.email }}</a>
|
||||
<a href="mailto:{{ submission.email }}">{{ submission.email }}</a>
|
||||
</span>
|
||||
</div>
|
||||
{% if submission.phone %}
|
||||
<div class="field">
|
||||
<span class="field-label">Phone:</span>
|
||||
<span class="field-value">
|
||||
<a href="tel:{{ submission.phone }}" style="color: #667eea; text-decoration: none;">{{ submission.phone }}</a>
|
||||
<a href="tel:{{ submission.phone }}">{{ submission.phone }}</a>
|
||||
</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
@@ -423,9 +449,14 @@
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="footer">
|
||||
<p>📧 This email was automatically generated from the GNX website contact form.</p>
|
||||
<p>⏰ Please respond to the customer within 24 hours as per our service commitment.</p>
|
||||
<div class="email-footer">
|
||||
<div class="footer-company">GNX Software Solutions</div>
|
||||
<div class="footer-tagline">Contact Form Notification</div>
|
||||
|
||||
<div class="footer-note">
|
||||
📧 This email was automatically generated from the GNX website contact form.<br>
|
||||
⏰ Please respond to the customer within 24 hours as per our service commitment.
|
||||
</div>
|
||||
|
||||
<div class="company-info">
|
||||
<p><strong>GNX Software Solutions</strong></p>
|
||||
|
||||
Reference in New Issue
Block a user