2014-02-05 2 views
3

(как Mailgun не имеет библиотеки питона это относится как для CURL и Python)Как отправить почту с несколькими приложениями и пользовательскими именами файлов, используя Mailgun (из Python)

Мы работаем на изолированном сервере без доступа к файловой системе.

Это пример обеспечивается mailgun:

def send_complex_message(): 
    return requests.post(
     "https://api.mailgun.net/v2/samples.mailgun.org/messages", 
     auth=("api", "key-3ax6xnjp29jd6fds4gc373sgvjxteol0"), 
     files=[("attachment", open("files/test.jpg")), 
       ("attachment", open("files/test.txt"))], 
     data={"from": "Excited User <[email protected]>", 
       "to": "[email protected]", 
       "cc": "[email protected]", 
       "bcc": "[email protected]", 
       "subject": "Hello", 
       "text": "Testing some Mailgun awesomness!", 
       "html": "<html>HTML version of the body</html>"}) 

Как вы можете видеть имя файла только подразумевается на открытом воздухе() вызывает.

Учитывая, что у нас нет доступа к файловой системе, мы загружаем файлы из удаленного места и передаем данные.

Это отправляет данные по почте, но имена файлов игнорируются, поэтому клиенты почти не открывают файлы, так как им придется угадывать расширение файла для каждого вложения.

Как мы укажем имена файлов вручную?

Спасибо!

ответ

6

После долгой работы я обнаружил образец, показывающий, как именно это сделать here.

Я оставляю этот код здесь для дальнейшего использования, как это было очень полезно:

def send_complex_message(): 
    return requests.post("https://api.mailgun.net/v2/DOMAIN/messages", 
       auth=("api", "key-SECRET"), 
       files={ 
        "attachment[0]": ("FileName1.ext", open(FILE_PATH_1, 'rb')), 
        "attachment[1]": ("FileName2.ext", open(FILE_PATH_2, 'rb')) 
       }, 
       data={"from": "FROM_EMAIL", 
        "to": [TO_EMAIL], 
        "subject": SUBJECT, 
        "html": HTML_CONTENT 
       }) 
+0

насчет mailgun песочницы? Я хочу проверить его с помощью песочницы, и я получаю запрет в качестве ответа. –

Смежные вопросы