fix: sending mail; add email host user and pwd for authentication
This commit is contained in:
@@ -96,6 +96,8 @@ docker build -t django-nginx-image -f nginx/Dockerfile ./nginx
|
|||||||
|
|
||||||
### Start docker container
|
### Start docker container
|
||||||
|
|
||||||
|
Add email password for 'Verleih' account to EMAIL_HOST_PASSWORD in the docker compose file!
|
||||||
|
|
||||||
Build the docker containers:
|
Build the docker containers:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|||||||
@@ -25,6 +25,8 @@ services:
|
|||||||
MYSQL_USER: "user"
|
MYSQL_USER: "user"
|
||||||
MYSQL_PASSWORD: "hgu"
|
MYSQL_PASSWORD: "hgu"
|
||||||
ETHERPAD_GROUP: "g.snlbqn7S6ksRbom3"
|
ETHERPAD_GROUP: "g.snlbqn7S6ksRbom3"
|
||||||
|
EMAIL_HOST_USER: "verleih@fet.at"
|
||||||
|
EMAIL_HOST_PASSWORD: ""
|
||||||
depends_on:
|
depends_on:
|
||||||
mysql:
|
mysql:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
|
|||||||
@@ -18,6 +18,8 @@ env = environ.Env(
|
|||||||
ETHERPAD_GROUP=(str, ""),
|
ETHERPAD_GROUP=(str, ""),
|
||||||
GALLERY_PATH=(str, "uploads/gallery"),
|
GALLERY_PATH=(str, "uploads/gallery"),
|
||||||
MC_MASTERPASSWORD=(str, ""),
|
MC_MASTERPASSWORD=(str, ""),
|
||||||
|
EMAIL_HOST_USER=(str, ""),
|
||||||
|
EMAIL_HOST_PASSWORD=(str, ""),
|
||||||
)
|
)
|
||||||
|
|
||||||
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
|
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
|
||||||
@@ -103,6 +105,8 @@ else:
|
|||||||
EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
|
EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
|
||||||
EMAIL_HOST = "buran.htu.tuwien.ac.at"
|
EMAIL_HOST = "buran.htu.tuwien.ac.at"
|
||||||
EMAIL_PORT = 587
|
EMAIL_PORT = 587
|
||||||
|
EMAIL_HOST_USER = env("EMAIL_HOST_USER")
|
||||||
|
EMAIL_HOST_PASSWORD = env("EMAIL_HOST_PASSWORD")
|
||||||
EMAIL_USE_TLS = True
|
EMAIL_USE_TLS = True
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,28 +1,28 @@
|
|||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
from django.conf import settings
|
||||||
from django.core.mail import EmailMessage
|
from django.core.mail import EmailMessage
|
||||||
|
|
||||||
RENTAL_EMAIL = "verleih@fet.at"
|
RENTAL_EMAIL = settings.EMAIL_HOST_USER
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
def send_mail_approved(obj):
|
def send_mail_approved(obj):
|
||||||
subject = f"FET-Verleih #{obj.id}: {obj.get_status_display()}"
|
subject = f"FET-Verleih #{obj.id}: {obj.get_status_display()}"
|
||||||
|
total_deposit = obj.calc_total_deposit()
|
||||||
total_deposit = 0
|
|
||||||
for rentalitem in obj.rentalitems.all():
|
|
||||||
total_deposit += rentalitem.deposit
|
|
||||||
|
|
||||||
message = (
|
message = (
|
||||||
f"Hallo {obj.firstname},\n"
|
f"Hallo {obj.firstname},\n\n"
|
||||||
f"deine Verleihanfrage mit der Nummer #{obj.id} wurde erfolgreich genehmigt. Die "
|
f"deine Verleihanfrage mit der Nummer #{obj.id} wurde erfolgreich genehmigt. Die "
|
||||||
f"Gegenstände können am {obj.date_start.strftime('%d.%m.%Y')} während der Beratungszeit "
|
f"Gegenstände können am {obj.date_start.strftime('%d.%m.%Y')} während der Beratungszeit "
|
||||||
"(Montag - Donnerstag: 09:00 - 14:00, Freitag: 09:00 - 12:00) abgeholt werden. Bitte bring "
|
"(Montag - Donnerstag: 09:00 - 14:00, Freitag: 09:00 - 12:00) abgeholt werden.\n"
|
||||||
f"den Gesamtpfand in Höhe von {total_deposit} € in bar mit.\n"
|
|
||||||
"Liebe Grüße,\n"
|
|
||||||
"das Verleih-Team"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if total_deposit > 0:
|
||||||
|
message += f"Bitte bring den Gesamtpfand in Höhe von {total_deposit} € in bar mit.\n"
|
||||||
|
|
||||||
|
message += "\nLiebe Grüße,\ndas Verleih-Team"
|
||||||
|
|
||||||
email = EmailMessage(
|
email = EmailMessage(
|
||||||
subject, message, from_email=RENTAL_EMAIL, to=[obj.email], cc=[RENTAL_EMAIL]
|
subject, message, from_email=RENTAL_EMAIL, to=[obj.email], cc=[RENTAL_EMAIL]
|
||||||
)
|
)
|
||||||
@@ -30,15 +30,15 @@ def send_mail_approved(obj):
|
|||||||
try:
|
try:
|
||||||
email.send()
|
email.send()
|
||||||
except Exception as exc:
|
except Exception as exc:
|
||||||
logger.error("Failed to send approval email for rental #%s. Error: %s", obj.id, exc)
|
logger.info("Failed to send approval email for rental #%s. Error: %s", obj.id, exc)
|
||||||
|
|
||||||
|
|
||||||
def send_mail_rejected(obj):
|
def send_mail_rejected(obj):
|
||||||
subject = f"FET-Verleih #{obj.id}: {obj.get_status_display()}"
|
subject = f"FET-Verleih #{obj.id}: {obj.get_status_display()}"
|
||||||
|
|
||||||
message = (
|
message = (
|
||||||
f"Hallo {obj.firstname},\n"
|
f"Hallo {obj.firstname},\n\n"
|
||||||
f"deine Verleihanfrage mit der Nummer #{obj.id} wurde abgelehnt.\n"
|
f"deine Verleihanfrage mit der Nummer #{obj.id} wurde abgelehnt.\n\n"
|
||||||
"Liebe Grüße,\n"
|
"Liebe Grüße,\n"
|
||||||
"das Verleih-Team"
|
"das Verleih-Team"
|
||||||
)
|
)
|
||||||
@@ -50,4 +50,4 @@ def send_mail_rejected(obj):
|
|||||||
try:
|
try:
|
||||||
email.send()
|
email.send()
|
||||||
except Exception as exc:
|
except Exception as exc:
|
||||||
logger.error("Failed to send rejection email for rental #%s. Error: %s", obj.id, exc)
|
logger.info("Failed to send rejection email for rental #%s. Error: %s", obj.id, exc)
|
||||||
|
|||||||
Reference in New Issue
Block a user