Mailgun 二进制附件

Mailgun binary attachement

好的,我尝试使用 Python 3.4 使用 mailgun 发送一个简单的 *.xlsx 文件。

send_message(..., attachement=["/tmp/demo.xlsx"])

这里给出send_message中的代码:

def send_message(subject, text, fromAdr, to, attachement=None):

    files = list()
    if attachement:
        files.extend([("attachement", (os.path.basename(f), open(f, "b+r", encoding="utf-8"))) for f in attachement])


    print(files)
    return requests.post(
        "https://api.mailgun.net/v2/lobnek.com/messages",
        auth=("api", "key-2flidf93tp-u9moz95r8alhbl-pih1g9"),
        files = files,
        data={"from": fromAdr,
              "to": to,
              "subject": subject,
              "text": text}
    )

我没有收到任何错误消息,但附件未发送!

xlsx 文件是二进制文件,不是 UTF-8 格式的文本文件。

如果您确实尝试读取(足够深入)文件,您的初始验证尝试也会失败;但您的代码只是打开和关闭它。