Иако комерцијални клијенти е-поште нуде погодност усер-фриендли ГУИ, често им недостаје флексибилност и прилагодљивост коју многи програмери или творци садржаја прижељкују за слање е-поште потребе.
Било да сте послали захвалницу новом претплатнику на вашем каналу на друштвеним мрежама или додали функцију е-поште ваш најновији пројекат, могућност слања аутоматизованих порука помоћу СМТП-а у Питхону је нешто што ће сигурно доћи згодно.
Прочитајте како бисте сазнали како можете да добијете Питхон скрипту за слање е-порука које се данас извршавају на вашем рачунару.
Шта је СМТП?
Поједностављено речено, СМТП или Симпле Маил Трансфер Протоцол је комуникациони протокол за сервере поште за пренос е-поште путем Интернета.
То је саставни део апликационог слоја ТЦП / ИП пакета, који је скуп протокола који се користе за комуникацију путем Интернета или других сличних мрежа. У мрежи у којој је имплементиран СМТП, процес познат као продавница и напред помаже у премештању поште преко мрежа.
На свакој крајњој тачки, софтвер познат као Маил Трансфер Агент (МТА) користи складиштење и прослеђивање како би олакшао комуникацију између СМТП сервера који учествују. Стога је главна улога СМТП-а једноставно да диктира где и како се пошта креће од једне тачке до друге у мрежи.
Почетак
Морате имати налог е-поште који ћете користити за слање е-поште помоћу овог програма. То је зато што ћемо за слање е-поште користити СМТП услугу клијента е-поште. За овај водич користићемо Гмаил.
Такође можете да користите локални СМТП сервер за отклањање грешака за слање пробних порука е-поште, али за сада ћемо користити налог е-поште за слање е-поште, јер је то интуитивније.
Могуће је једноставно користити постојећи Гмаил налог, али док се играте са својим програмом, ускоро ће се можда напунити тестним е-порукама. Због тога препоручујемо стварање налога за „бацање“ у сврху тестирања.
Сада укључите опцију на дозвољавају мање сигурне апликације да бисте приступили свом Гмаил налогу. Ово је још један разлог за употребу е-поште за одбацивање, јер се не препоручује да се поигравате подешавањима приватности примарне е-поште.
Писање е-поште на Питхон-у
Питхон 3 долази унапред инсталиран са модулом званим смтплиб (скраћеница од смтп библиотека), који се може користити за рад са СМТП серверима.
Као и сваки други Питхон модул, прва ствар коју морате да урадите је да увезете смтплиб.
импорт смтплиб
Иницијализација СМТП објекта
Сада можете да користите смтплиб за креирање СМТП објекта, који ће вам пружити већину функционалности конвенционалног клијента е-поште. Међутим, функције СМТП објекта могу се користити само путем метода инстанце. Дакле, наравно, следећи корак је декларација инстанце објекта.
миСМТП = смтплиб. СМТП („смтп.гоогле.цом“)
Ово конфигурише СМТП објекат да шаље е-пошту помоћу Гоогле-овог СМТП сервера.
Након тога одредујемо е-пошту пошиљаоца и примаоца. Ево где вам Гмаил налог који сте раније направили добро дође.
емаилСендер = “сендерМаил@сендер.цом”
миТхроаваи = "миЕмаил@гмаил.цом"
емаилРеципиентс = [миТхроаваи]
Овде треба напоменути да је листа прималаца заправо низ, што значи да је дизајнирана за чување неатомских вредности. Као резултат, у ово поље можете чак да одредите и целу маилинг листу!
Писање поруке
Вероватно најједноставнији део процеса, овде морате унети вредности које бисте обично додавали приликом састављања нове е-поште. Ово укључује:
- Детаљи пошиљаоца
- Детаљи примаоца
- Предмет
- Тело поруке
Ова поља су састављена унутар троструких наводника и означена су на следећи начин:
невЕмаил = Од: Од особе
За: према особи
Предмет: Е-маил тест
Ово је тело е-поште.
Слање е-поште
На крају, можемо да користимо наредбу сендмаил за слање поште са вашег СМТП сервера на сервер примаоца.
миСМТП.сендмаил (емаилСендер, емаилРеципиентс, невЕмаил)
Сада је само један последњи корак: реорганизација кода како би се спречило било какво предвидиво рушење програма.
Решавање проблема са вашим Питхон програмом за е-пошту
Понекад ваш СМТП сервер можда неће успети да успостави везу са везом примаоца или може доћи до проблема са слањем е-поште са једног СМТП порта на други. У таквом случају, ваш програм се може неочекивано срушити.
Да бисте објаснили такве могућности, можете користити а покушај-осим блок и ставите изјаве склоне грешкама у покушати блокирати. Читав ваш програм, заједно са блоком три-осим, требало би да изгледа отприлике овако:
импорт смтплиб
емаилСендер = “сендерМаил@сендер.цом”
миТхроаваи = ‘моја_емаил@гмаил.цом’
емаилРеципиентс = [миТхроаваи]
невЕмаил = Од: Од особе
За: према особи
Предмет: Е-маил тест
Ово је тело е-поште.
покушати:
смтпОбј = смтплиб. СМТП („смтп.гмаил.цом“)
миСМТП.сендмаил (емаилСендер, емаилРеципиентс, невЕмаил)
принт („Е-пошта је успешно послата!“)
осим СМТПЕкцептион:
принт („Грешка: Дошло је до грешке при слању е-поште.“)
Заштита ваших е-адреса
Ако намеравате да користите Питхон у реалном окружењу за слање е-поште, важно је да будете сигурни да је комуникација безбедна на оба краја.
Употреба једноставног СМТП сервера са подразумеваним портом не пружа никакав слој шифровања комуникацији. То значи да ако било која независна страна слуша на вашој мрежи, може приступити вашим подацима за пријављивање и информацијама које се налазе у вашој е-пошти.
Један од начина за заобилажење овог проблема је употреба протокола ТЛС (Транспорт Лаиер Сецурити) за шифровање ваше комуникације. Ово је исти протокол који користе главни клијенти е-поште, попут Гмаил-а и Оутлоок-а, како би се осигурало да ваше е-адресе никада не падну у погрешне руке.
Да бисмо то урадили, морамо да направимо неколико мањих измена у програму који смо раније креирали.
Први корак је, наравно, увоз датотеке ссл библиотека заједно са смтплиб. Тхе ссл Библиотека вам даје могућност стварања сигурног ССЛ контекста и комуникације преко шифроване мреже повезивањем на одређене портове на оба краја.
Сигурни ССЛ контекст није ништа друго него збирка шифри, верзије протокола, поуздани сертификати, ТЛС опције и ТЛС екстензије.
Следећи ово, можемо да одредимо ТЛС порт и додамо неколико ссл функције библиотеке за стварање сигурне е-поште.
Код са свим извршеним променама изгледа отприлике овако:
увоз смтплиб, ссл
смтпСервер = "смтп.гмаил.цом"
лука = 587
миЕмаил = "ми_емаил@гмаил.цом"
пассворд = "ми_пассворд"
#емаил и лозинка такође могу бити корисничка поља за унос
цонтект = ссл.цреате_дефаулт_цонтект ()
невЕмаил = Од: Од особе
За: према особи
Предмет: Е-маил тест
Ово је тело е-поште.
покушати:
сервер = смтплиб. СМТП (смтпСервер, порт)
сервер.старттлс (цонтект = цонтект)
сервер.логин (невЕмаил, лозинка)
осим изузетка као е:
принт („е-маил није могуће послати.“)
коначно:
сервер.куит ()
Као и раније, требали бисте створити и користити СМТП инстанцу у блоку три-осим да бисте спречили нагле падове програма.
Шта можете учинити са овом Питхон скриптом
Сада када сте схватили сјајну и изненађујуће корисну вештину аутоматизације е-поште помоћу кода, можете је применити на било којој платформи која захтева слање е-поште на разнолику маилинг листу.
Од коришћења на вашем личном веб месту за слање аутоматских е-порука са потврдом до коришћења за слање божићних честитки е-поштом или позивнице за вашу породицу и пријатеље, употребу ове мале Питхон скрипте ограничава само ваша властита креативност.
Такође, ово је само једна од многих сјајних ствари које можете да урадите са Питхоном. Захваљујући својој свеприсутној подршци за програмере и синтакси која се лако научи, покупити Питхон вештину никада није било лакше.
Да бисте наставили да градите кул ствари помоћу кода, погледајте наш водич о томе како направите сопствени Телеграм бот помоћу Питхон 3!
Надоградите своје вештине програмирања и веб развоја на Питхон-у, вештачкој интелигенцији, Керас-у, ПиТорцх-у и многим другим
- Програмирање
- Гмаил
- Савети е-поште
- Питхон
- Аутоматизација задатака
Иасх је амбициозни студент информатике који воли да гради ствари и пише о свим стварима. У слободно време воли да игра Сквош, чита копију најновијег Муракамија и лови змајеве у Скириму.
Претплатите се на наш билтен
Придружите се нашем билтену за техничке савете, прегледе, бесплатне е-књиге и ексклузивне понуде!
Још један корак…!
Молимо потврдите своју адресу е-поште у е-поруци коју смо вам управо послали.