import smtplib, ssl
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email import encoders
# ----------- gerekli bilgiler --------
gmail = "gönderici mail"
amail = "alıcı mail"
sifre = "şifre"
subject = "mail konusu"
message = MIMEMultipart()
message["Subject"] = subject
message["From"] = gmail
message["To"] = amail
text = """\
göndereceğiniz mesaj
"""
part1 = MIMEText(text, "plain")
message.attach(part1)
# ---------- maile dosya ekleme kısmı -----------
filepath = "eklemek istediğin dosyanın yolu"
try:
with open(filepath, "rb") as attachment:
part2 = MIMEBase('application', "octet-stream")
part2.set_payload(attachment.read())
encoders.encode_base64(part2)
part2.add_header(
'Content-Disposition',
f'attachment; filename="{filepath.split("/")[-1]}"'
)
message.attach(part2)
except FileNotFoundError:
print("Dosyayı bulamadım mail eki olmadan gönderilecek.")
# ------------- maili gönderme kısmı -----------
context = ssl.create_default_context()
try:
server = smtplib.SMTP("smtp.gmail.com", 587)
server.starttls(context=context)
server.login(gmail, sifre)
server.sendmail(gmail, amail, message.as_string())
print("Mail başarıyla gönderildi")
except Exception as e:
print(f"Hata oluştu: {e}")