Spaces:
Sleeping
Sleeping
Update app/utils/emailer.py
Browse files- app/utils/emailer.py +5 -12
app/utils/emailer.py
CHANGED
|
@@ -1,12 +1,8 @@
|
|
| 1 |
import smtplib
|
| 2 |
from email.mime.text import MIMEText
|
| 3 |
-
from
|
| 4 |
import hashlib
|
| 5 |
from typing import List, Tuple
|
| 6 |
-
from app.config import settings
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
|
| 11 |
def choose_subject(email: str, subject_a: str, subject_b: str) -> Tuple[str, str]:
|
| 12 |
# 受信者でハッシュ→安定的にA/B割当(50/50)
|
|
@@ -14,9 +10,6 @@ def choose_subject(email: str, subject_a: str, subject_b: str) -> Tuple[str, str
|
|
| 14 |
variant = "A" if (h % 2 == 0) else "B"
|
| 15 |
return (subject_a if variant == "A" else subject_b), variant
|
| 16 |
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
def send_email(recipients: List[str], subject_a: str, subject_b: str, body_md: str) -> list:
|
| 21 |
results = []
|
| 22 |
for rcpt in recipients:
|
|
@@ -26,10 +19,10 @@ def send_email(recipients: List[str], subject_a: str, subject_b: str, body_md: s
|
|
| 26 |
msg["From"] = settings.EMAIL_FROM
|
| 27 |
msg["To"] = rcpt
|
| 28 |
|
| 29 |
-
|
| 30 |
with smtplib.SMTP(settings.SMTP_HOST, settings.SMTP_PORT) as s:
|
| 31 |
s.starttls()
|
| 32 |
-
|
| 33 |
-
|
|
|
|
| 34 |
results.append({"to": rcpt, "variant": variant, "subject": subject})
|
| 35 |
-
return results
|
|
|
|
| 1 |
import smtplib
|
| 2 |
from email.mime.text import MIMEText
|
| 3 |
+
from app.config import settings
|
| 4 |
import hashlib
|
| 5 |
from typing import List, Tuple
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6 |
|
| 7 |
def choose_subject(email: str, subject_a: str, subject_b: str) -> Tuple[str, str]:
|
| 8 |
# 受信者でハッシュ→安定的にA/B割当(50/50)
|
|
|
|
| 10 |
variant = "A" if (h % 2 == 0) else "B"
|
| 11 |
return (subject_a if variant == "A" else subject_b), variant
|
| 12 |
|
|
|
|
|
|
|
|
|
|
| 13 |
def send_email(recipients: List[str], subject_a: str, subject_b: str, body_md: str) -> list:
|
| 14 |
results = []
|
| 15 |
for rcpt in recipients:
|
|
|
|
| 19 |
msg["From"] = settings.EMAIL_FROM
|
| 20 |
msg["To"] = rcpt
|
| 21 |
|
|
|
|
| 22 |
with smtplib.SMTP(settings.SMTP_HOST, settings.SMTP_PORT) as s:
|
| 23 |
s.starttls()
|
| 24 |
+
if settings.SMTP_USERNAME and settings.SMTP_PASSWORD:
|
| 25 |
+
s.login(settings.SMTP_USERNAME, settings.SMTP_PASSWORD)
|
| 26 |
+
s.sendmail(settings.SMTP_USERNAME or "", [rcpt], msg.as_string())
|
| 27 |
results.append({"to": rcpt, "variant": variant, "subject": subject})
|
| 28 |
+
return results
|