mailjet以txt格式发送带有附件的电子邮件

2024-06-16 11:54:55 发布

您现在位置:Python中文网/ 问答频道 /正文

另一个程序发送到我的脚本已经完成的信:

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。我创建了类似的函数:

^{pr2}$

但我收到的是短信,不是邮箱里的附件。在


Tags: tofrom程序info脚本comhttpmessage
1条回答
网友
1楼 · 发布于 2024-06-16 11:54:55

您应该使用官方的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()

相关问题 更多 >