13
วิธีการส่งอีเมลไปยังผู้รับหลายคนโดยใช้ python smtplib?
หลังจากค้นหามากฉันไม่สามารถหาวิธีใช้ smtplib.sendmail เพื่อส่งไปยังผู้รับหลายคน ปัญหาคือทุกครั้งที่มีการส่งจดหมายส่วนหัวจดหมายจะมีที่อยู่หลายแห่ง แต่ในความเป็นจริงผู้รับเพียงรายแรกเท่านั้นที่จะได้รับอีเมล ปัญหาน่าจะเป็นที่email.Messageโมดูลคาดว่าสิ่งที่แตกต่างจากsmtplib.sendmail()ฟังก์ชั่น ในระยะสั้นหากต้องการส่งไปยังผู้รับหลายคนคุณควรตั้งส่วนหัวให้เป็นสตริงของที่อยู่อีเมลคั่นด้วยเครื่องหมายจุลภาค sendmail()พารามิเตอร์to_addrsแต่ควรจะเป็นรายชื่อที่อยู่อีเมล from email.MIMEMultipart import MIMEMultipart from email.MIMEText import MIMEText import smtplib msg = MIMEMultipart() msg["Subject"] = "Example" msg["From"] = "me@example.com" msg["To"] = "malcom@example.com,reynolds@example.com,firefly@example.com" msg["Cc"] = "serenity@example.com,inara@example.com" body = MIMEText("example email body") msg.attach(body) smtp = smtplib.SMTP("mailhost.example.com", 25) smtp.sendmail(msg["From"], msg["To"].split(",") + msg["Cc"].split(","), msg.as_string()) smtp.quit()