logo

Python SMTP kullanarak E-posta Gönderme

Basit Posta Aktarım Protokolü (SMTP), Python kullanarak e-posta aktarımını gerçekleştirmek için bir protokol olarak kullanılır. E-posta sunucuları arasında e-postaları yönlendirmek için kullanılır. Kullanıcıların diğerine posta göndermesine olanak tanıyan bir uygulama katmanı protokolüdür. Alıcı, protokolleri kullanarak e-postayı alır POP(Postane Protokolü) Ve IMAP(İnternet Mesaj Erişim Protokolü) .

Python SMTP kullanarak E-posta Gönderme

Sunucu bir istemciden TCP bağlantısını dinlediğinde, 587 numaralı bağlantı noktasında bir bağlantı başlatır.

Diana Mary Blacker

Python şunları sağlar: smtplib Bir internet makinesine e-posta göndermek için kullanılan SMTP istemci oturumu nesnesini tanımlayan modül. Bu amaçla ithalat yapmamız gerekiyor. smtplib import deyimini kullanarak modül.

 $ import smtplib 

SMTP nesnesi e-posta aktarımı için kullanılır. Smtplib nesnesini oluşturmak için aşağıdaki sözdizimi kullanılır.

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

Aşağıdaki parametreleri kabul eder.

    ev sahibi:SMTP sunucunuzu çalıştıran makinenin ana bilgisayar adıdır. Burada sunucunun IP adresini ( https://www.javatpoint.com ) veya localhost gibi belirtebiliriz. İsteğe bağlı bir parametredir.liman:Ana makinenin SMTP bağlantılarını dinlediği port numarasıdır. Varsayılan olarak 25'tir.yerel_anasistem adı:Yerel makinenizde SMTP sunucusu çalışıyorsa, yerel makinenin ana bilgisayar adını belirtebiliriz.

Postayı istenen makineye göndermek için SMTP nesnesinin sendmail() yöntemi kullanılır. Sözdizimi aşağıda verilmiştir.

 smtpObj.sendmail(sender, receiver, message) 

Örnek

veri yapıları java
 #!/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') 

Gmail'den e-posta gönderme

E-postaların Gmail SMTP sunucusu kullanılarak gönderildiği durumlar vardır. Bu durumda localhost'u 587 portuyla kullanmak yerine Gmail'i SMTP sunucusu olarak geçirebiliriz.

Aşağıdaki sözdizimini kullanın.

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

Burada Gmail kullanıcı adı ve şifresini kullanarak Gmail hesabına giriş yapmamız gerekiyor. Bu amaçla smtplib, gönderenin kullanıcı adını ve şifresini kabul eden login() yöntemini sağlar.

mamta kulkarni

Bu, Gmail kullanıyorsanız Gmail'inizin sizden daha az güvenli uygulamalara erişim istemesine neden olabilir. Bunun çalışması için bunu geçici olarak AÇIK duruma getirmeniz gerekecektir.

Python SMTP kullanarak E-posta Gönderme

Aşağıdaki örneği düşünün.

Örnek

 #!/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') 

HTML'yi e-postayla gönderme

HTML'yi göndermek için MIME sürümünü, içerik türünü ve karakter kümesini belirterek mesajdaki HTML'yi biçimlendirebiliriz.

yıl çeyreklere bölünüyor

Aşağıdaki örneği düşünün.

Örnek

 #!/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;)