Corin1998 commited on
Commit
6c73f6a
·
verified ·
1 Parent(s): d85dc83

Update app/utils/emailer.py

Browse files
Files changed (1) hide show
  1. 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 email.utils import formataddr
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
- s.login(settings.SMTP_USERNAME, settings.SMTP_PASSWORD)
33
- s.sendmail(settings.SMTP_USERNAME, [rcpt], msg.as_string())
 
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