2014-09-15 1 views
0

Я тестирую Python, изучая, как его использовать.Python отправить письмо с приложением

Недавно я тестируя различные способы отправки сообщений электронной почты с помощью SMTP, без и с вложениями.

До сих пор, после прочтения документации Python и другие темы здесь на Stackoverflow я получил то, что мне было нужно, и теперь может отправлять сообщения электронной почты с вложениями, яй меня!

Я наткнулся на этой странице, http://www.tutorialspoint.com/python/python_sending_email.htm, который предложил, что он мне кажется, еще один способ прикрепления файлов.

Я использовал это раньше в сценарии, где я имел 4 файлов для прикрепления (позволяет надеяться вставить код правильно):

for f in attach: 
    part = MIMEBase('application', 'octet-stream') 
    part.set_payload(open(f, 'rb').read()) 
    Encoders.encode_base64(part) 
    part.add_header('Content-Disposition','attachment; filename="%s"' % os.path.basename(f)) 
    msg.attach(part) 

Но учебник писал выше, использует другой способ, и я попробовал его, потому что почему бы и нет, просто скопируйте и вставьте и введите мой адрес электронной почты, SMTP, чтобы увидеть его в действии, и попробуйте изменения после. Однако последний бит кода:

message = part1 + part2 + part3 

.. не работает. Мой SMTP отказывается сказать [ERNO10053]. Просто отправка одной части работает нормально.

Может кто-то, кто более знаком в Python объяснить мне, что это значит использовать границы? Я вижу, что это «-», за которым следует уникальный маркер. Но я действительно не понимаю, зачем они нужны, и что происходит в этом скрипте.

Я новичок.

Cheers!

+0

так что посмотрите, какая ошибка вашего сервера SMTP # 10053 есть. –

+0

Это хорошая идея. – BigLebowski

+0

Я * думаю * вы ищете документацию по [MIME] (https://en.wikipedia.org/wiki/MIME) (и должен поставить вопрос на такой вопрос). – goncalopp

ответ

0

Эти границы являются частью MIME specification. Они используются в качестве разделителя между вложениями.

Ошибка 10053 означает прерывание соединения.

+0

Спасибо за эту ссылку! – BigLebowski