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
|
||||
|
||||
Add email password for 'Verleih' account to EMAIL_HOST_PASSWORD in the docker compose file!
|
||||
|
||||
Build the docker containers:
|
||||
|
||||
```bash
|
||||
|
||||
@@ -9,7 +9,7 @@ services:
|
||||
depends_on:
|
||||
- django-homepage
|
||||
volumes:
|
||||
- files-volume:/usr/src/app/files
|
||||
- files-volume:/usr/src/app/files
|
||||
- ./gallery:/usr/src/app/files/uploads/gallery
|
||||
- ./assets:/usr/src/app/assets:ro
|
||||
networks:
|
||||
@@ -24,7 +24,9 @@ services:
|
||||
SECRET_KEY: "sae34sADfrFr89E!Gl#f!34hdjGR#!jopi4qFEr#4R56rT56zT2#wE1!feGp"
|
||||
MYSQL_USER: "user"
|
||||
MYSQL_PASSWORD: "hgu"
|
||||
ETHERPAD_GROUP: "g.snlbqn7S6ksRbom3"
|
||||
ETHERPAD_GROUP: "g.snlbqn7S6ksRbom3"
|
||||
EMAIL_HOST_USER: "verleih@fet.at"
|
||||
EMAIL_HOST_PASSWORD: ""
|
||||
depends_on:
|
||||
mysql:
|
||||
condition: service_healthy
|
||||
|
||||
@@ -18,6 +18,8 @@ env = environ.Env(
|
||||
ETHERPAD_GROUP=(str, ""),
|
||||
GALLERY_PATH=(str, "uploads/gallery"),
|
||||
MC_MASTERPASSWORD=(str, ""),
|
||||
EMAIL_HOST_USER=(str, ""),
|
||||
EMAIL_HOST_PASSWORD=(str, ""),
|
||||
)
|
||||
|
||||
# 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_HOST = "buran.htu.tuwien.ac.at"
|
||||
EMAIL_PORT = 587
|
||||
EMAIL_HOST_USER = env("EMAIL_HOST_USER")
|
||||
EMAIL_HOST_PASSWORD = env("EMAIL_HOST_PASSWORD")
|
||||
EMAIL_USE_TLS = True
|
||||
|
||||
|
||||
|
||||
@@ -1,53 +1,53 @@
|
||||
import logging
|
||||
|
||||
from django.core.mail import EmailMessage
|
||||
|
||||
RENTAL_EMAIL = "verleih@fet.at"
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def send_mail_approved(obj):
|
||||
subject = f"FET-Verleih #{obj.id}: {obj.get_status_display()}"
|
||||
|
||||
total_deposit = 0
|
||||
for rentalitem in obj.rentalitems.all():
|
||||
total_deposit += rentalitem.deposit
|
||||
|
||||
message = (
|
||||
f"Hallo {obj.firstname},\n"
|
||||
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 "
|
||||
"(Montag - Donnerstag: 09:00 - 14:00, Freitag: 09:00 - 12:00) abgeholt werden. Bitte bring "
|
||||
f"den Gesamtpfand in Höhe von {total_deposit} € in bar mit.\n"
|
||||
"Liebe Grüße,\n"
|
||||
"das Verleih-Team"
|
||||
)
|
||||
|
||||
email = EmailMessage(
|
||||
subject, message, from_email=RENTAL_EMAIL, to=[obj.email], cc=[RENTAL_EMAIL]
|
||||
)
|
||||
|
||||
try:
|
||||
email.send()
|
||||
except Exception as exc:
|
||||
logger.error("Failed to send approval email for rental #%s. Error: %s", obj.id, exc)
|
||||
|
||||
|
||||
def send_mail_rejected(obj):
|
||||
subject = f"FET-Verleih #{obj.id}: {obj.get_status_display()}"
|
||||
|
||||
message = (
|
||||
f"Hallo {obj.firstname},\n"
|
||||
f"deine Verleihanfrage mit der Nummer #{obj.id} wurde abgelehnt.\n"
|
||||
"Liebe Grüße,\n"
|
||||
"das Verleih-Team"
|
||||
)
|
||||
|
||||
email = EmailMessage(
|
||||
subject, message, from_email=RENTAL_EMAIL, to=[obj.email], cc=[RENTAL_EMAIL]
|
||||
)
|
||||
|
||||
try:
|
||||
email.send()
|
||||
except Exception as exc:
|
||||
logger.error("Failed to send rejection email for rental #%s. Error: %s", obj.id, exc)
|
||||
import logging
|
||||
|
||||
from django.conf import settings
|
||||
from django.core.mail import EmailMessage
|
||||
|
||||
RENTAL_EMAIL = settings.EMAIL_HOST_USER
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def send_mail_approved(obj):
|
||||
subject = f"FET-Verleih #{obj.id}: {obj.get_status_display()}"
|
||||
total_deposit = obj.calc_total_deposit()
|
||||
|
||||
message = (
|
||||
f"Hallo {obj.firstname},\n\n"
|
||||
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 "
|
||||
"(Montag - Donnerstag: 09:00 - 14:00, Freitag: 09:00 - 12:00) abgeholt werden.\n"
|
||||
)
|
||||
|
||||
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(
|
||||
subject, message, from_email=RENTAL_EMAIL, to=[obj.email], cc=[RENTAL_EMAIL]
|
||||
)
|
||||
|
||||
try:
|
||||
email.send()
|
||||
except Exception as exc:
|
||||
logger.info("Failed to send approval email for rental #%s. Error: %s", obj.id, exc)
|
||||
|
||||
|
||||
def send_mail_rejected(obj):
|
||||
subject = f"FET-Verleih #{obj.id}: {obj.get_status_display()}"
|
||||
|
||||
message = (
|
||||
f"Hallo {obj.firstname},\n\n"
|
||||
f"deine Verleihanfrage mit der Nummer #{obj.id} wurde abgelehnt.\n\n"
|
||||
"Liebe Grüße,\n"
|
||||
"das Verleih-Team"
|
||||
)
|
||||
|
||||
email = EmailMessage(
|
||||
subject, message, from_email=RENTAL_EMAIL, to=[obj.email], cc=[RENTAL_EMAIL]
|
||||
)
|
||||
|
||||
try:
|
||||
email.send()
|
||||
except Exception as exc:
|
||||
logger.info("Failed to send rejection email for rental #%s. Error: %s", obj.id, exc)
|
||||
|
||||
Reference in New Issue
Block a user