tôi đã kịch bản sau đây để gửi mail bằng pythonthư không được gửi đến mọi người trong CC
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import os
FROMADDR = "[email protected]"
PASSWORD = 'foo'
TOADDR = ['[email protected]', '[email protected]']
CCADDR = ['[email protected]', '[email protected]']
# Create message container - the correct MIME type is multipart/alternative.
msg = MIMEMultipart('alternative')
msg['Subject'] = 'Test'
msg['From'] = FROMADDR
msg['To'] = ', '.join(TOADDR)
msg['Cc'] = ', '.join(CCADDR)
# Create the body of the message (an HTML version).
text = """Hi this is the body
"""
# Record the MIME types of both parts - text/plain and text/html.
body = MIMEText(text, 'plain')
# Attach parts into message container.
msg.attach(body)
# Send the message via local SMTP server.
s = smtplib.SMTP('server.com', 587)
s.set_debuglevel(1)
s.ehlo()
s.starttls()
s.login(FROMADDR, PASSWORD)
s.sendmail(FROMADDR, TOADDR, msg.as_string())
s.quit()
Khi tôi sử dụng kịch bản, tôi thấy rằng thư được phân phối cho cả toaddr1
và toadd2
Tuy nhiên ccaddr1
và ccaddr2
không nhận được thư nào cả.
Điều thú vị là, khi tôi kiểm tra mail nhận được toaddr1
và toadd2
, nó cho thấy rằng ccaddr1
và ccaddr2
có mặt trong CC.
Có lỗi nào trong tập lệnh không? Ban đầu tôi nghĩ rằng đây có thể là một vấn đề với máy chủ thư của tôi. Tôi đã thử với Gmail và thấy kết quả tương tự. Tức là, dù tài khoản của nó trong máy chủ thư hiện tại hoặc tài khoản Gmail của tôi trong CC, người nhận sẽ không nhận được thư, mặc dù những người trong trường 'Tới' nhận được đúng và có địa chỉ chính xác được đề cập trong trường CC
Một điều quan trọng cần lưu ý ở đây là - Đối số bắt buộc là chuỗi từ địa chỉ, danh sách chuỗi địa chỉ (chuỗi trống sẽ được xử lý dưới dạng danh sách có 1 địa chỉ) và chuỗi tin nhắn. Hãy chắc chắn rằng bạn có to_addr là một đối tượng danh sách. – Rishi