26 lines
1.2 KiB
Python
26 lines
1.2 KiB
Python
from django.core.mail import EmailMessage, EmailMultiAlternatives
|
|
from django.urls import reverse
|
|
from django.template.loader import render_to_string
|
|
|
|
|
|
def send_offer_email(request, offer, sender_user, recipient_user):
|
|
html_content = render_to_string('user/trade/offer_email.html',
|
|
{'request': request, 'offer': offer, 'sender_user': sender_user, 'recipient_user': recipient_user})
|
|
plain_text = get_offer_text(request, offer, sender_user, recipient_user)
|
|
|
|
message = EmailMultiAlternatives(
|
|
f'{sender_user.username} wants to trade',
|
|
plain_text,
|
|
'no-reply@pflaenz.li',
|
|
[recipient_user.email],
|
|
reply_to=[sender_user.email],
|
|
)
|
|
|
|
message.attach_alternative(html_content, 'text/html')
|
|
|
|
message.send()
|
|
|
|
|
|
def get_offer_text(request, offer, sender_user, recipient_user):
|
|
return f"Hello {recipient_user.username},\n\nThe user {sender_user.username} would like to trade '{offer.title}' with you!\n\nIf you would like to trade with {sender_user.username}, just reply to this email to get in touch with them.\n\nYou can also view their offers here: {request.scheme}://{request.get_host()}{reverse('user_detail', args=[sender_user.id])}"
|