diff --git a/.env b/.env index e3f5cbc6..ada813cf 100644 --- a/.env +++ b/.env @@ -1 +1,3 @@ SECRET_KEY=n5i4&l#vk1c*34_(lonzy46ahy%^lq@clc@!o7s3*i(0g*=6+i + +EMAIL_API=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 diff --git a/Dockerfile b/Dockerfile index a3e6f947..9c7dfa6d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,6 +17,8 @@ COPY requirements.txt /app/ RUN pip install --upgrade pip \ && pip install -r /app/requirements.txt +RUN pip install sib-api-v3-sdk + COPY . /app/ RUN python manage.py collectstatic --noinput --clear diff --git a/contact/__pycache__/models.cpython-310.pyc b/contact/__pycache__/models.cpython-310.pyc index ef64d026..d43f0d0f 100644 Binary files a/contact/__pycache__/models.cpython-310.pyc and b/contact/__pycache__/models.cpython-310.pyc differ diff --git a/contact/models.py b/contact/models.py index 44483672..4b0a15ed 100644 --- a/contact/models.py +++ b/contact/models.py @@ -1,6 +1,7 @@ from __future__ import unicode_literals from django.db import models +import os from modelcluster.fields import ParentalKey @@ -9,8 +10,16 @@ from wagtail.contrib.forms.models import AbstractEmailForm, AbstractFormField from wagtail.fields import RichTextField from wagtail.admin.panels import FieldPanel, FieldRowPanel,InlinePanel, MultiFieldPanel + from saburly.custom_editor import FULL_EDITOR +import sib_api_v3_sdk +from sib_api_v3_sdk.rest import ApiException + +from dotenv import load_dotenv + +load_dotenv() + class FormField(AbstractFormField): page = ParentalKey( @@ -52,3 +61,27 @@ class ContactPage(AbstractEmailForm): ], heading = 'Email Settings'), ] + def send_mail(self, form): + form_data = '\n'.join([f"{field.label}: {form.cleaned_data.get(field.name)}" for field in form]) + + configuration = sib_api_v3_sdk.Configuration() + configuration.api_key['api-key'] = os.getenv('EMAIL_API') + api_instance = sib_api_v3_sdk.TransactionalEmailsApi(sib_api_v3_sdk.ApiClient(configuration)) + + subject = self.subject or "New Contact Form Submission" + sender = {"email": self.from_address} + to = [{"email": self.to_address}] + html_content = f"
{form_data}
" + + send_smtp_email = sib_api_v3_sdk.SendSmtpEmail( + to=to, + sender=sender, + subject=subject, + html_content=html_content + ) + + try: + api_instance.send_transac_email(send_smtp_email) + print("Email sent successfully") + except ApiException as e: + print(f"Failed to send email: {e}") \ No newline at end of file diff --git a/db.sqlite3 b/db.sqlite3 index 0957e52c..e432366f 100644 Binary files a/db.sqlite3 and b/db.sqlite3 differ diff --git a/requirements.txt b/requirements.txt index 8655c24d..618907c6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -34,3 +34,5 @@ wagtail==6.2.1 Willow==1.8.0 whitenoise==6.0.0 django-widget-tweaks==1.4.5 +sib-api-v3-sdk==7.6.0 + diff --git a/saburly/settings/__pycache__/base.cpython-310.pyc b/saburly/settings/__pycache__/base.cpython-310.pyc index c12fb3a1..650c1db1 100644 Binary files a/saburly/settings/__pycache__/base.cpython-310.pyc and b/saburly/settings/__pycache__/base.cpython-310.pyc differ diff --git a/saburly/settings/base.py b/saburly/settings/base.py index 9cd029e0..85866d9e 100644 --- a/saburly/settings/base.py +++ b/saburly/settings/base.py @@ -179,7 +179,7 @@ WAGTAILSEARCH_BACKENDS = { # Base URL to use when referring to full URLs within the Wagtail admin backend - # e.g. in notification emails. Don't include '/admin' or a trailing slash -WAGTAILADMIN_BASE_URL = "http://example.com" +WAGTAILADMIN_BASE_URL = "https://saburly.com" # Allowed file extensions for documents in the document library. # This can be omitted to allow all files, but note that this may present a security risk