2017-05-24 6 views
0

smtpを使って電子メールを転送する方法はありますか?特別なヘッダーおよびその他の未使用の情報を持っている()message.as_stringので転送メールのようにGmailにするには?

def forward_email(email_id, email_to): 
    client, messages = get_original_email(email_id) 
    typ, data = client.fetch(messages[0].split(' ')[-1], '(RFC822)') 
    email_data = data[0][1] 
    message = email.message_from_string(email_data) 

    smtp = smtplib.SMTP(EMAIL_HOST, EMAIL_PORT) 
    smtp.ehlo() 
    smtp.starttls() 
    smtp.login(IMAP_LOGIN, IMAP_PASSWORD) 
    result = smtp.sendmail(email.utils.parseaddr(message['From']), 
     email_to, message.as_string()) 
    smtp.quit() 
    return result 

は、今では働いていない: はここに私のコードの一部です。 これはgmailがこれをブロックしたと思います。コードの下

+0

に連続してメールを送信し、正しく私のために働きましたか? – Gahan

+0

ヘッダー情報を消去して、強制的に再度作成することができます。 – CagCak

答えて

0

も、基本的にはPythonコードの右からの電子メールを送信したい関数呼び出し

def send_email(to='[email protected]', f_host='send.one.com', f_port=587, f_user='[email protected]', f_passwd='my_pass', subject='subject for email', message='content message'): 
    smtpserver = smtplib.SMTP(f_host, f_port) 
    smtpserver.ehlo() 
    smtpserver.starttls() 
    smtpserver.ehlo 
    smtpserver.login(f_user, f_passwd) # from email credentialssssssssss 
    header = 'To:' + to + '\n' + 'From: ' + f_user + '\n' + 'Subject:' + subject + '\n' 
    message = header + '\n' + message + '\n\n' 
    smtpserver.sendmail(f_user, to, str(message)) 
    smtpserver.close() 
    DBG('Mail is sent successfully!!') 
関連する問題