2017-03-25 19 views
0

私はpythonスクリプトを使って、アンケートで顧客にメールを送ります。 BCCフィールドにすべての顧客の電子メールを1通だけ送信し、すべての電子メールをループする必要はありません。私の会社の同僚に電子メールを送信したときや自分のメールに送信したときにはすべてうまく動作しますが、Gmailアカウントに送信するときはBCCフィールドは表示されず、すべてのメールが表示されます。私はこのポストEmail Bcc recipients not hidden using Python smtplibを見つけて、その解決策も試しましたが、私はHTML本文のメールを使用しているので、メールは本文の中に表示されました。誰かが私にこの1つを助けることができますか?BCCはpython smtplibを使ってGmailに隠されていません

import smtplib 
from email.mime.multipart import MIMEMultipart 
from email.mime.text import MIMEText 
from email.mime.image import MIMEImage 


def send_survey_mail(): 

template_path = 'template.html' 
background_path = 'image.png' 
button_path = 'image2.png' 

try: 
    body = open(template_path, 'r') 
    msg = MIMEMultipart() 

    msg['Subject'] = 'Customer Survey' 
    msg['To'] = ', '.join(['[email protected]', '[email protected]']) 
    msg['From'] = '[email protected]' 
    msg['Bcc'] = '[email protected]' 

    text = MIMEText(body.read(), 'html') 
    msg.attach(text) 

    fp = open(background_path, 'rb') 
    img = MIMEImage(fp.read()) 
    fp.close() 

    fp2 = open(button_path, 'rb') 
    img2 = MIMEImage(fp2.read()) 
    fp2.close() 

    img.add_header('Content-ID', '<image1>') 
    msg.attach(img) 

    img2.add_header('Content-ID', '<image2>') 
    msg.attach(img2) 

    s = smtplib.SMTP('smtpserver') 

    s.sendmail('[email protected]', 
       ['[email protected]', '[email protected]', '[email protected]'], 
       msg.as_string()) 
    s.quit() 
except Exception as ex: 
    raise ex 

send_survey_mail() 

コードから次の行を削除して再試行しました。これで、メールはお客様のGmailメールに送信されません。

msg['Bcc'] = '[email protected]' 

答えて

0

msg ['BCC']フィールドを定義しないでください。そのフィールドを設定すると、そのフィールドが強制的に組み込まれます。 Bccの電子メールアドレスがsendmailコマンドの宛先アドレスリストにあるだけで十分です。を参照してくださいthis post

+0

はい、私はリンク上の同じ溶液をしましたが、私の場合、私は体がHTMLである必要があり、私はそのように行う際に、電子メールアドレスでそれを行います件名は電子メールの本文に表示されます。 – greenFedoraHat

0

ちょうどmsg ['To']またはmsg ['Cc']のbccメールについては言及していません。のみserver.sendmail()

import smtplib 
from email.mime.multipart import MIMEMultipart 
from email.mime.text import MIMEText 
from email.mime.base import MIMEBase 
from email import encoders 

from_addr = "[email protected]" 
to_addr = ["[email protected]", "[email protected]"] 

msg = MIMEMultipart() 

msg['From'] = from_addr 
msg['To'] = to_addr 
msg['Subject'] = "SUBJECT" 

body = "BODY" 

msg.attach(MIMEText(body, 'plain')) 

filename = "FILE.pdf" 
attachment = open('/home/FILE.pdf', "rb") 

part = MIMEBase('application', 'octet-stream') 
part.set_payload((attachment).read()) 
encoders.encode_base64(part) 
part.add_header('Content-Disposition', "attachment; filename= %s" % filename) 

msg.attach(part) 

server = smtplib.SMTP('.....', 587) 
server.starttls() 
server.login(from_addr, 'yourpass') 
text = msg.as_string() 
server.sendmail(from_addr, to_addr + [[email protected]], text) 
server.quit() 
関連する問題