python3 를 이용해서 지메일 보내기

python3 를 이용해서 지메일 보내기

설정

SMTP 설정

특별한 설정 필요 없이 SMTP 를 지원하는 듯. (오히려 끄는 옵션이 없어보인다?)

보안 수준 설정

지메일 보안수준 설정
에서 보안수준이 낮은 앱의 액세스 사용으로 변경

코드

plain text 로 보낼 때.

#-*- coding:utf-8 -*-  

import smtplib  

TO = '[email protected]'  
SUBJECT = 'YOUR SUBJECT'  
TEXT = 'YOUR TEXT' # plain text  

# Gmail Sign In  
gmail_sender = '[email protected]'  
gmail_passwd = 'your password'  

server = smtplib.SMTP('smtp.gmail.com', 587)  
server.ehlo()  
server.starttls()  
server.login(gmail_sender, gmail_passwd)  

BODY = '\r\n'.join(['To: %s' % TO,  
                    'From: %s' % gmail_sender,  
                    'Subject: %s' % SUBJECT,  
                    '', TEXT])  

try:  
    server.sendmail(gmail_sender, [TO], BODY)  
    print ('email sent')  
except:  
    print ('error sending mail')  

server.quit()  

html 을 사용해서 보낼 때.

#-*- coding:utf-8 -*-  

import smtplib  
from email.mime.text import MIMEText  

def newPost(title, content):  
    try:  
        uinfo = userinfo()  
        sender_email = uinfo['sender_email']  
        sender_passwd = uinfo['sender_passwd']  
        TO = uinfo['to']  

        #content = 'Here is a message from python.<strong>is this strong?</strong> right!'  

        message = MIMEText(content, "html")  
        message['From'] = sender_email  
        message['To'] = TO  
        message['Cc'] = ''  
        message['Subject'] = title  

        msg_full = message.as_string()  

        server = smtplib.SMTP('smtp.gmail.com:587')  
        server.starttls()  
        server.login(sender_email, sender_passwd)  
        server.sendmail(sender_email,  
                        [TO],  
                        msg_full)  
        server.quit()  
    except Exception as ex:  
        print ('send mail error', ex)  

def userinfo():  
    return {  
        'sender_email':'[email protected]'  
        ,'sender_passwd':'your password'  
        ,'to':'[email protected]'  
    }  

분류 : 개발


이 문서가 가리키는 다른 문서 목록


이 문서를 가리키는 다른 문서 목록