Симпле Маил Трансфер Протоцол (СМТП) се користи као протокол за руковање преносом е-поште помоћу Питхон-а. Користи се за рутирање е-поште између сервера е-поште. То је протокол слоја апликације који омогућава корисницима да шаљу пошту другоме. Прималац преузима е-пошту користећи протоколе ПОП (протокол поште) и ИМАП (протокол за приступ Интернет порукама) .
Када сервер слуша ТЦП везу од клијента, он покреће везу на порту 587.
Питхон пружа а смтплиб модул, који дефинише објекат сесије СМТП клијента који се користи за слање е-поште на интернет машину. У ту сврху морамо да увеземо смтплиб модул користећи наредбу импорт.
$ import smtplib
СМТП објекат се користи за пренос е-поште. Следећа синтакса се користи за креирање смтплиб објекта.
import smtplib smtpObj = smtplib.SMTP(host, port, local_hostname)
Прихвата следеће параметре.
Метод сендмаил() СМТП објекта се користи за слање поште на жељену машину. Синтакса је дата у наставку.
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 = '[email protected]' receivers_mail = ['[email protected]'] message = '''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> '''%(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')