mailjet 以 txt 格式发送带有附件的电子邮件
mailjet send email with attachments in txt form
另一个程序发送到我的脚本已经完成的信件:
所以,我解析了 from_email
和 to_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)
但是我收到的是短信,不是邮箱里的附件。
您应该使用官方的 Mailjet 包装器,它是 Mailjet 维护的 API 客户端。按照文档中的说明,发送附件的方式如下: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': 'pilot@mailjet.com',
'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": "passenger@mailjet.com"}],
'Attachments':
[{
"Content-type": "text/plain",
"Filename": "test.txt",
"content": "VGhpcyBpcyB5b3VyIGF0dGFjaGVkIGZpbGUhISEK"
}]
}
result = mailjet.send.create(data=data)
print result.status_code
print result.json()
另一个程序发送到我的脚本已经完成的信件:
所以,我解析了 from_email
和 to_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)
但是我收到的是短信,不是邮箱里的附件。
您应该使用官方的 Mailjet 包装器,它是 Mailjet 维护的 API 客户端。按照文档中的说明,发送附件的方式如下: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': 'pilot@mailjet.com',
'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": "passenger@mailjet.com"}],
'Attachments':
[{
"Content-type": "text/plain",
"Filename": "test.txt",
"content": "VGhpcyBpcyB5b3VyIGF0dGFjaGVkIGZpbGUhISEK"
}]
}
result = mailjet.send.create(data=data)
print result.status_code
print result.json()