Python ile Dosya Ekli E-Posta Gönderme Yöntemleri

0 Ответы 3 Просмотры
·
Участники
Автор темы #1
Python kullanarak dosya ekli e-posta göndermek, otomasyon ve iletişim süreçlerinde sıkça karşılaşılan ihtiyaçlardan biridir. Bu işlemi gerçekleştirmek için genellikle smtplib ve email kütüphaneleri tercih edilir. İşte detaylı ve adım adım açıklamalarla bu işlemi nasıl yapabileceğinizi anlatıyorum.

İlk olarak, Python’un standart kütüphaneleri olan smtplib ve email modüllerini kullanarak SMTP protokolü üzerinden e-posta gönderebiliriz. Bu sayede, Gmail, Outlook veya diğer mail servis sağlayıcılarıyla entegrasyon sağlayabiliriz. Güvenlik açısından, özellikle Gmail kullanıyorsanız, uygulama şifresi veya OAuth2 gibi ek güvenlik önlemlerini dikkate almak gerekir.

Bir diğer önemli nokta, e-postaya dosya eklemek için email.mime modüllerinde bulunan MIMEBase veya MIMEApplication sınıflarını kullanmak. Bu sınıflar, eklenmesi gereken dosyanın içeriğini uygun biçimde kodlamaya ve başlıklandırmaya imkan tanır. Örneğin, aşağıda temel bir örnek yer alıyor:

КОД
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders

[b]SMTP ayarları[/b]
smtp_server = 'smtp.gmail.com'
smtp_port = 587
gonderen = 'sizininemailiniz@gmail.com'
parola = 'sifreniz'  # Güvenlik açısından, burada doğrudan yazmamak daha iyidir

[b]E-posta içeriği[/b]
alici = 'aliciemail@example.com'
konu = 'Dosya Ekli Test E-postası'
gonderi = MIMEMultipart()
gonderi['From'] = gonderen
gonderi['To'] = alici
gonderi['Subject'] = konu

[b]E-posta gövdesi[/b]
body = 'Bu e-posta, Python ile otomatik olarak gönderilmiştir.'
gonderi.attach(MIMEText(body, 'plain'))

[b]Dosya ekleme[/b]
dosya_yolu = 'ornek.pdf'  # Eklemek istediğiniz dosya yolu
dosya_adi = 'rapor.pdf'  # E-posta içinde görünecek dosya adı

with open(dosya_yolu, 'rb') as dosya:
    mime = MIMEBase('application', 'octet-stream')
    mime.set_payload(dosya.read())
encoders.encode_base64(mime)
mime.add_header('Content-Disposition', f'attachment; filename={dosya_adi}')
gonderi.attach(mime)

[b]SMTP ile bağlan ve gönder[/b]
try:
    server = smtplib.SMTP(smtp_server, smtp_port)
    server.starttls()
    server.login(gonderen, parola)
    server.send_message(gonderi)
    print('E-posta başarıyla gönderildi.')
except Exception as e:
    print(f'Hata oluştu: {e}')
finally:
    server.quit()


Bu temel örnekte, SMTP sunucusu ve portu ile giriş yaptıktan sonra, MIME yapısı kullanarak hem mesaj içeriğini hem de dosya ekini belirliyoruz. Güvenlik ve gizlilik açısından, parola ve hassas bilgiler kodda açık şekilde bulunmamalı veya ortam değişkenleri üzerinden alınmalıdır.

Sonuç olarak, Python’un güçlü kütüphaneleri sayesinde, dosya ekli e-posta gönderme işlemi oldukça esnek ve otomasyona uygun hale geliyor. Bu temel yapı üzerinde farklı ihtiyaçlara göre özelleştirmeler yapabilirsiniz.[/B]

Чтобы ответить, необходимо войти в систему.

Пользователи, просматривающие эту тему (Всего: 3, Участники: 3, Гости: 0)
Всего: 3 (участники: 3, гости: 0)
0 цитат выбрано