Files
hms-licht-ton/backend/app/services/__pycache__/email_service.cpython-313.pyc
T

122 lines
9.3 KiB
Plaintext
Raw Normal View History

ó
)PjÉãó¶•SrSSKrSSKJr SSKJr SSKJr SSKJ r J
r
SSK J r SSK
r
SSKJr SS KJr \R$"\5r\"5r"S
S 5rg) zêEmail service using aiosmtplib for contact and rental confirmation emails.
Includes a failed-email queue: when SMTP fails and a db session is provided,
the email is persisted to the email_queue table for later retry via APScheduler.
éN)ÚMIMEText)Ú
MIMEMultipart)ÚAny)ÚselectÚupdate)Ú AsyncSession)Ú get_settings)Ú
EmailQueuecóâ•\rSrSrSrSS\S\S\S\S\S-S \S-S
\4S jjrSS \ \\
4S \S-S
\4S
jjr SS\S\S\S\ \ \\
4S \S-S
\4 Sjjr
\SS \S\S
\4Sjj5rSrg)Ú EmailServiceézCSend transactional emails via SMTP with failed-email queue support.NÚto_addrÚsubjectÚ html_bodyÚ text_bodyÚreply_toÚdbÚreturnc ƒó# •[S5n[RUS'XS'X'S'U(aXWS'UR[ U=(d US55 UR[ US55 [
R "U[R[R[R[RSS 9IS
hv•N gN![a¡n[RS X5 Ub~[UUUUUS S
S9n URU 5 UR!5IS
hv•N [R#SU5 O-![a n
[RSU
5 S
n
A
OS
n
A
ff=fS
nAgS
nAff=f7f)z¡Send an email via aiosmtplib. Returns True on success.
If SMTP fails and a db session is provided, the email is saved to
the email_queue table for later retry.
Ú alternativeÚFromÚToÚSubjectúReply-ToÚplainÚhtmlT©ÚhostnameÚportÚusernameÚpasswordÚ start_tlsNzEmail send failed to %s: %sÚpendingr)rrrrrÚstatusÚattemptszEmail queued for retry: %szFailed to queue email: %sF)rÚsettingsÚ smtp_fromÚattachrÚ
aiosmtplibÚsendÚ smtp_hostÚ smtp_portÚ smtp_userÚ
smtp_passwordÚ ExceptionÚloggerÚerrorr
ÚaddÚcommitÚinfo) ÚselfrrrrrrÚmsgÚexcÚqueuedÚ queue_excs ÚG/a0/usr/workdir/hms-licht-ton-t04/backend/app/services/email_service.pyÚ
send_emailÚEmailService.send_emailsNé€ô˜MÓ*ˆÜ×(Ñ(ˆˆF‰ ؈D‰ Ø ˆI‰Þ Ø&�
‰OØ �
‰
”8˜I×2¨°GÓ<Ô=Ø �
‰
”8˜I vÓ.Ô/ð Ü—/’/ØÜ!×+Ñ+Ü×'Ñ'Ü!×+Ñ+Ü!×/Ñ/Øñ
÷
ð
ðñ
øôó Ü �L‰LÐ6¸Ô E؉~ðIÜ'Ø 'Ø 'Ø"+Ø"+Ø!)Ø(Ø!"ñ�Fð—F‘F˜6”NØŸ)™)›+×%Ñ%Ü—K‘KÐ <¸gÕFøÜ óIÜ—L‘LÐ!<¸i×HÑHûðIúäûð% üsy‚A1E>Á4ACÃCà CÃ
E>ÃCÃ
E;ÃE6Ã43EÄ'D*Ä(EÅE6Å
E.ÅE)Å$E6Å)E.Å.E6Å1E>Å6E;Å;E>Ú contact_datac ƒó¼# •SURSS5SURSS5SURSS5SURS S5S
3 nS URSS5S URSS5S
URSS5SURS S5S3 nUR[RSUUURS5US9IShv•N $N7f)z0Send contact form data to info@hms-licht-ton.de.zH
<h2>Neue Kontaktanfrage</h2>
<p><strong>Name:</strong> ÚnameÚz(</p>
<p><strong>Email:</strong> Úemailz*</p>
<p><strong>Telefon:</strong> Úphonez;</p>
<p><strong>Nachricht:</strong></p>
<p>Úmessagez
</p>
zNeue Kontaktanfrage
Name: z
Email: z
Telefon: z
Nachricht: Ú
z*Neue Kontaktanfrage ueber hms-licht-ton.de)rrrrrrN)Úgetr;r&r')r5r=rrÚtexts r:Úsend_contact_emailÚEmailService.send_contact_emailLs%é€ð#à#/×#3Ñ#3°F¸BÓ#?Ð"@ðA$Ø$0×$4Ñ$4°W¸bÓ$AÐ#BðC&Ø&2×&6Ñ&6°wÀÓ&CÐ%DðE à × Ñ ˜Y¨Ó +Ð ,ð- ð
 ˆðØ!×%Ñ% f¨bÓ1Ð2ð3Ø"×&Ñ& w°Ó3Ð4ð5Ø$×(Ñ(¨°"Ó5Ð6ð7Ø&×*Ñ*¨9°bÓ9Ð:¸"ð 
>ð
ð—_‘_Ü×&Ñ&Ø@ØØØ!×%Ñ% gÓ.Øð
%ð
÷
ð
ñ
ùs‚CCÃCÃCÚreference_numberÚ
event_nameÚitemsc ƒóâ# •SRSU55nSUSUSUSUS3 nSUS US
US 3S RS
U55-nURUSU3UUUS9IShv•N $N7f)z-Send rental request confirmation to customer.r@c3ót# •UH.nSURSS5SURSS5S3v• M0 g7f)z<li>Úequipment_nameÚ Unbekanntz
- Menge: Úquantityéz</li>N©rE©Ú.0Úitems r:Ú <genexpr>Ú8EmailService.send_rental_confirmation.<locals>.<genexpr>qsAé€ð
â�ð�4—8‘8Ð,¨kÓ:Ð;¸:ÀdÇhÁhÈzÐ[\ÓF]ÐE^Ð^cÕ dÚùs‚68u(
<h2>Mietanfrage bestätigt – u{</h2>
<p>Vielen Dank für Ihre Mietanfrage bei HMS Licht &amp; Ton.</p>
<p><strong>Veranstaltung:</strong> z1</p>
<p><strong>Referenznummer:</strong> z+</p>
<h3>Artikel:</h3>
<ul>um</ul>
<p>Wir melden uns in Kürze bei Ihnen.</p>
<p>Ihr HMS Licht &amp; Ton Team</p>
zMietanfrage bestaetigt - z
Veranstaltung: z
Referenznummer: z
Artikel:
rDc3ór# •UH-nSURSS5SURSS53v• M/ g7f)z- rNrOz: rPrQNrRrSs r:rVrW„s>é€ðâ!�Dð�T—X‘XÐ.° Ó<Ð=¸RÀÇÁÈÐUVÓ@WÐ?XÕYÚ!ùs‚57uMietanfrage bestaetigt – )rrrrrN)Újoinr;) r5rrIrJrKrÚ
items_htmlrrFs r:Úsend_rental_confirmationÚ%EmailService.send_rental_confirmationhsáé€ð—W‘Wñ
áó
ó
ˆ
ð(Ø(8Ð'9ð:,à,6¨<ð8-Ø-=Ð,>ð?
à
ˆLð ð
 ˆð(Ð(8Ð'9ð:Ø(˜\ð*Ø/Ð0ð1ð
ð�i‰iñá!óóñ 
ð
ð—_‘_ØØ1Ð2BÐ1CÐDØØØð %ð
÷
ð
ñ
ùs‚A&A/Á(A-Á)A/Ú max_attemptsc
ƒóª# •UR[[5R[RS:H[R
U:55IShv•N nUR
5R5nSnUGHXnU=R
S-
sl[S5n[RUS'URUS'URUS'UR(aURUS 'UR[UR =(d UR"S
55 UR[UR"S 55 [$R&"U[R([R*[R,[R.S S
9IShv•N SUlUS-
n[0R3SUR5 GM[ UR95IShv•N U$GNžNR![4aKn[0R7SURU5 UR
U:¼aSUlSnAGMÅSnAGMÌSnAff=fNc7f)zQRetry all pending emails in the queue. Returns count of successfully sent emails.r#NrrQrrrrrrrTrÚsentzRetry succeeded for email to %sz Retry failed for email to %s: %sÚfailed)Úexecuterr