logo

Питхон шаље е-пошту користећи СМТП

Симпле Маил Трансфер Протоцол (СМТП) се користи као протокол за руковање преносом е-поште помоћу Питхон-а. Користи се за рутирање е-поште између сервера е-поште. То је протокол слоја апликације који омогућава корисницима да шаљу пошту другоме. Прималац преузима е-пошту користећи протоколе ПОП (протокол поште) и ИМАП (протокол за приступ Интернет порукама) .

Питхон шаље е-пошту користећи СМТП

Када сервер слуша ТЦП везу од клијента, он покреће везу на порту 587.

Питхон пружа а смтплиб модул, који дефинише објекат сесије СМТП клијента који се користи за слање е-поште на интернет машину. У ту сврху морамо да увеземо смтплиб модул користећи наредбу импорт.

 $ import smtplib 

СМТП објекат се користи за пренос е-поште. Следећа синтакса се користи за креирање смтплиб објекта.

 import smtplib smtpObj = smtplib.SMTP(host, port, local_hostname) 

Прихвата следеће параметре.

    домаћин:То је име хоста машине која покреће ваш СМТП сервер. Овде можемо навести ИП адресу сервера као што је ( хттпс://ввв.јаватпоинт.цом ) или лоцалхост. То је опциони параметар.Лука:То је број порта на којем хост машина слуша СМТП везе. Подразумевано је 25.лоцал_хостнаме:Ако СМТП сервер ради на вашој локалној машини, можемо поменути име хоста локалне машине.

Метод сендмаил() СМТП објекта се користи за слање поште на жељену машину. Синтакса је дата у наставку.

 smtpObj.sendmail(sender, receiver, message) 

Пример

ц# речник
 #!/usr/bin/python3 import smtplib sender_mail = '[email protected]' receivers_mail = ['[email protected]'] message = '''From: From Person %s To: To Person %s Subject: Sending SMTP e-mail This is a test e-mail message. '''%(sender_mail,receivers_mail) try: smtpObj = smtplib.SMTP('localhost') smtpObj.sendmail(sender_mail, receivers_mail, message) print('Successfully sent email') except Exception: print('Error: unable to send email') 

Слање е-поште са Гмаил-а

Постоје случајеви када се е-поруке шаљу помоћу Гмаил СМТП сервера. У овом случају, можемо проследити Гмаил као СМТП сервер уместо да користимо локални хост са портом 587.

Користите следећу синтаксу.

 $ smtpObj = smtplib.SMTP('gmail.com', 587) 

Овде морамо да се пријавимо на Гмаил налог користећи Гмаил корисничко име и лозинку. У ту сврху, смтплиб обезбеђује методу логин(), која прихвата корисничко име и лозинку пошиљаоца.

Ово може да натера ваш Гмаил да затражи приступ мање безбедним апликацијама ако користите Гмаил. Мораћете да ово привремено укључите да би ово функционисало.

Питхон шаље е-пошту користећи СМТП

Размотрите следећи пример.

Пример

 #!/usr/bin/python3 import smtplib sender_mail = '[email protected]' receivers_mail = ['[email protected]'] message = '''From: From Person %s To: To Person %s Subject: Sending SMTP e-mail This is a test e-mail message. '''%(sender_mail,receivers_mail) try: password = input('Enter the password'); smtpObj = smtplib.SMTP('gmail.com',587) smtpobj.login(sender_mail,password) smtpObj.sendmail(sender_mail, receivers_mail, message) print('Successfully sent email') except Exception: print('Error: unable to send email') 

Слање ХТМЛ-а путем е-поште

Можемо форматирати ХТМЛ у поруци тако што ћемо навести МИМЕ верзију, тип садржаја и скуп знакова за слање ХТМЛ-а.

Размотрите следећи пример.

Пример

склеарн оцена тачности
 #!/usr/bin/python3 import smtplib sender_mail = &apos;[email protected]&apos; receivers_mail = [&apos;[email protected]&apos;] message = &apos;&apos;&apos;From: From Person %s To: To Person %s MIME-Version:1.0 Content-type:text/html Subject: Sending SMTP e-mail <h3>Python SMTP</h3> <strong>This is a test e-mail message.</strong> &apos;&apos;&apos;%(sender_mail,receivers_mail) try: smtpObj = smtplib.SMTP(&apos;localhost&apos;) smtpObj.sendmail(sender_mail, receivers_mail, message) print(&apos;Successfully sent email&apos;) except Exception: print(&apos;Error: unable to send email&apos;)