2017-05-24 11 views
0

smtp를 사용하여 이메일을 전송할 수있는 방법이 있습니까 (예 : Gmail ... - 추가 텍스트 사용). 특별한 헤더 및 기타 사용되지 않는 정보를 가지고() 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이 이것을 차단했기 때문에 Gmail을 차단 한 것 같습니다. 코드 아래

+0

에 지속적으로 메일을 보낼 제대로 나를 위해 일한? – Gahan

+0

헤더 정보를 삭제 한 다음 다시 만들어야 할 수 있습니다. – CagCak

답변

0

도 기본적으로는 파이썬 코드 오른쪽에서 이메일을 보낼 함수 호출

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!!')