2016-05-27 1 views
2

にTXT形式で別のプログラムを添付ファイル付きの電子メールを送信:だからmailjetは私のスクリプトすでに終了手紙に送信

http://pastebin.com/XvnMrKzE

、私はfrom_emailto_emailを解析し、テキスト内のいくつかの変更を行うと、mailjetでそれを送信します。私はsmtpでこれをしなかった場合は

は:

def send(sender, to, message): 
    smtp = smtplib.SMTP(SERVER, PORT) 
    smtp.ehlo() 
    smtp.starttls() 
    smtp.ehlo() 
    smtp.login(USER,PASSWORD) 
    logger.info('Sending email from %s to %s' % (sender, to)) 
    smtp.sendmail(sender, to, message) 
    logger.info('Done') 
    smtp.quit() 

は、それはうまく働きました。それから私はmailjetを使用する必要があります。私は同様の機能を作った:

def send_with_mailjet(sender, to, message): 
    mailjet = Client(auth=('key', 'key')) 
    email = { 
     'FromName': 'Support', 
     'FromEmail': sender, 
     'Subject': 'Voice recoginition', 
     'Text-Part': message, 
     'Html-part': message, 
     'Recipients': [{'Email': to},] 
    } 
    logger.info('Sending email from %s to %s' % (sender, to)) 
    result = mailjet.send.create(email) 
    logger.info('Done. Result: %s' % result) 

しかし、私はメールボックスに添付ファイルではなくテキストを受け取った。

+0

ありがとう:ドキュメントに指定されているように、ここにあなたの添付ファイルを送信する方法があります。 Python API呼び出しで添付ファイルが指定されていないようです。それらを定義する方法については、このAPIガイドを参照してくださいhttp://dev.mailjet.com/guides/?python#sending-with-attached-files –

+0

@ arnaud.bretonはい、私はこの問題を解決しましたが、別の: https://github.com/WoLpH/mailjet/issues/23確認してください。 – Arti

答えて

2

Mailjetによって管理されているAPIクライアントである公式のMailjetラッパーを使用する必要があります。あなたの電子メールに電力を供給するMailjetを選択するためのhttp://dev.mailjet.com/guides/?python#sending-with-attached-files

""" 
This calls sends an email to the given recipient. 
""" 
from mailjet import Client 
import os 
api_key = os.environ['MJ_APIKEY_PUBLIC'] 
api_secret = os.environ['MJ_APIKEY_PRIVATE'] 
mailjet = Client(auth=(api_key, api_secret)) 
data = { 
    'FromEmail': '[email protected]', 
    'FromName': 'Mailjet Pilot', 
    'Subject': 'Your email flight plan!', 
    'Text-part': 'Dear passenger, welcome to Mailjet! May the delivery force be with you!', 
    'Html-part': <h3>Dear passenger, welcome to Mailjet!</h3>May the delivery force be with you!', 
    'Recipients': [{ "Email": "[email protected]"}], 
    'Attachments': 
     [{ 
      "Content-type": "text/plain", 
      "Filename": "test.txt", 
      "content": "VGhpcyBpcyB5b3VyIGF0dGFjaGVkIGZpbGUhISEK" 
     }] 
} 
result = mailjet.send.create(data=data) 
print result.status_code 
print result.json() 
関連する問題