2016-09-19 2 views
0

나는 실행할 때 전자 메일을 보내는 SendGrid python 스크립트를 만드는 중입니다. 예제 스크립트 here을 따라 갔지만이 모든 것은 내 사용자 지정 SMTP API 헤더를 생성합니다. 어떻게 실제로 이메일을 보내나요? 감사!SMTP 헤더를 사용하고 SendGrid 이메일을 보내는 방법은 무엇입니까?

내 코드 : 라이브러리는 SMTP의 API 헤더를 생성하기위한 것으로 보인다

#sudo pip install smtpapi 

import time, json 

if __name__ == '__main__' and __package__ is None: 
    from os import sys, path 
    sys.path.append(path.dirname(path.dirname(path.abspath(__file__)))) 
    from smtpapi import SMTPAPIHeader 

from smtpapi import SMTPAPIHeader 
header = SMTPAPIHeader() 

header.add_to('[email protected]') 

# Substitutions 
header.set_substitutions({'key': ['value1', 'value2']}) 

# Sections 
header.set_sections({':name':'Michael', 'key2':'section2'}) 

# Filters 
header.add_filter('templates', 'enable', 1) 
header.add_filter('templates', 'template_id', 'a713d6a4-5c3e-4d4c-837f-ffe51b2a3cd2') 

# Scheduling Parameters 
header.set_send_at(int(time.time())) # must be a unix timestamp 

parsed = json.loads(header.json_string()) 
print json.dumps(parsed, indent=4, sort_keys=True) #display the SMTP API header json 

답변

0

있다. https://github.com/sendgrid/sendgrid-python

import sendgrid 
import os 
from sendgrid.helpers.mail import * 

sg = sendgrid.SendGridAPIClient(apikey=os.environ.get('SENDGRID_API_KEY')) 
from_email = Email("[email protected]") 
subject = "Hello World from the SendGrid Python Library!" 
to_email = Email("[email protected]") 
content = Content("text/plain", "Hello, Email!") 
mail = Mail(from_email, subject, to_email, content) 
response = sg.client.mail.send.post(request_body=mail.get()) 
print(response.status_code) 
print(response.body) 
print(response.headers) 

을하지만 그것은 나를 쉽게 필요에 따라 공급자를 전환 할 수 있기 때문에 개인적으로, 나는 항상 SMTP를 선호 - 당신이 보내는 이메일이 라이브러리를 사용하고자하는 것입니다.

+0

안녕하세요 @masnun, 공식 Python 라이브러리를 사용해 보았습니다. 그러나 대체 태그를 내 트랜잭션 템플릿과 함께 사용하는 데 문제가있었습니다. 내 템플릿에는 ": name"이라는 텍스트가 있고 json에서 대체 태그를 사용하려고했지만 문제가있었습니다. 내 코드는 다음과 같습니다. [link] (http://pastebin.com/wF0UVHqK) –

관련 문제