41 lines
1.4 KiB
Python
41 lines
1.4 KiB
Python
import logging
|
|
from django.core.mail import send_mail
|
|
from django.conf import settings
|
|
from django.utils.translation import gettext_lazy as _
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
def send_otp_email(email, code):
|
|
"""
|
|
Sends an OTP code via email.
|
|
"""
|
|
subject = _("Your verification code for MASAR CARGO")
|
|
message = _("Your verification code for MASAR CARGO is: %(code)s") % {"code": code}
|
|
from_email = settings.DEFAULT_FROM_EMAIL
|
|
recipient_list = [email]
|
|
|
|
try:
|
|
send_mail(subject, message, from_email, recipient_list)
|
|
logger.info(f"OTP email sent to {email}")
|
|
return True
|
|
except Exception as e:
|
|
logger.exception(f"Exception while sending OTP email: {str(e)}")
|
|
return False
|
|
|
|
def send_contact_message(name, email, message):
|
|
"""
|
|
Sends a contact message to the admin.
|
|
"""
|
|
subject = _("New contact message from %(name)s") % {"name": name}
|
|
full_message = f"Name: {name}\nEmail: {email}\n\nMessage:\n{message}"
|
|
from_email = settings.DEFAULT_FROM_EMAIL
|
|
recipient_list = settings.CONTACT_EMAIL_TO
|
|
|
|
try:
|
|
send_mail(subject, full_message, from_email, recipient_list)
|
|
logger.info(f"Contact message from {email} sent to admins")
|
|
return True
|
|
except Exception as e:
|
|
logger.exception(f"Exception while sending contact message: {str(e)}")
|
|
return False
|