2023-03-31 23:56:19 +02:00
from django . core . mail import EmailMessage , EmailMultiAlternatives
from django . urls import reverse
from django . template . loader import render_to_string
2023-05-16 23:36:40 +02:00
from django . utils . translation import gettext_lazy as _
2023-03-31 23:56:19 +02:00
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 (
2023-05-16 23:36:40 +02:00
f ' { sender_user . username } { _ ( " wants to trade " ) } ' ,
2023-03-31 23:56:19 +02:00
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 ) :
2023-05-16 23:36:40 +02:00
return f " { _ ( ' Hello ' ) } { recipient_user . username } , \n \n { sender_user . username } { _ ( ' is interested in ' ) } { offer . title } ! \n \n { _ ( ' Checkout their offers ' ) } : { request . scheme } :// { request . get_host ( ) } { reverse ( ' user_detail ' , args = [ sender_user . id ] ) } \n \n { _ ( ' Contact ' ) } { sender_user . username } , { _ ( ' by replying to this mail ' ) } . "