Hatayi cozemiyorum

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üye
Katılım
28 Ara 2019
Mesajlar
3
Tepki puanı
0
Yaş
30
6 HİZMET YILI
Traceback (most recent call last):
File "dosyagonderme.py", line 67, in <module>
a.begin()
AttributeError: mail_gonder instance has no attribute 'begin' soyle bi hata veriyo nedeni ne acaba bilen varsa yorum yapabilirmi
Post automatically merged:

Python:
#-*- coding: utf-8 -*-

#smtp sunucusu uzerinden parcalanmis dosya gonderici



import smtplib

from email.MIMEMultipart import MIMEMultipart

from email.MIMEBase import MIMEBase

from email import Encoders

import os



smtp_sunucu = "smtp.gmail.com"

port = 587



kmail = raw_input("\nGonderici email adresi girin: ")  #gonderici e posta

sifre = raw_input("\nSifrenizi girin: ")   #sifre

name = "anonym"

path = "/sdcard/" #raw_input("\nDosya yolu gir: ")  #dosyalarin bulundugu klasor

amail = raw_input("\nAlici email adresi girin: ") #alici e posta

text = raw_input("\nMesajinizi girin: ") #mesaj konusu



class mail_gonder():

    def __init__(self):

        self.liste = os.listdir(path)

    def login(self):

        print("\nSunucu baslatiliyor..")

        self.mailServer = smtplib.SMTP(smtp_sunucu, port)

        self.mailServer.set_debuglevel(1)

        self.mailServer.ehlo()

        self.mailServer.starttls()

        self.mailServer.ehlo()

        self.mailServer.login(kmail, sifre)

        print("\nSunucuya giris yapildi.")



def logout(self):

        #self.mailServer.close()

    def begin(self):

        self.login()

        while(self.liste):

            self.liste = os.listdir(path)

            self.dosya = self.dosyasec()

            print(self.dosya + 'secildi.')

            self.send()

        self.logout()



    def dosyasec(self):

        return self.liste.pop(0)

    def mailprep(self):

        mail = MIMEMultipart()

        mail['From'] = name

        mail['To'] = amail

        mail['Subject'] = self.dosya #Epostanin konu kismi = gonderilen dosyaadi

        mail.attach(MIMEText(text))

        part = MIMEBase('application', 'octet-stream')

        part.set_payload(open(path + os.sep + self.dosya, 'rb').read())

        Encoders.encode_base64(part)

        part.add_header('Content-Disposition','attachment; filename="%s" ' %self>

        mail.attach(part)

        return mail

    def send(self):

        yenimail = self.mailprep()

        self.mailServer.sendmail(kmail, amail, yenimail.as_string())

        print('Eposta yollandi. Dosya = ' + self.dosya)

        os.remove(path + os.sep + self.dosya)

        print(sefl.dosya + 'silindi')

        print("\n")



a = mail_gonder()

a.begin()
Post automatically merged:

Hata nerde ?
 
aka panic.rs
Kurucu
Katılım
18 Haz 2015
Mesajlar
3,379
Çözümler
50
Tepki puanı
13,156
Ödüller
22
Sosyal
10 HİZMET YILI
def logout(self): #self.mailServer.close() def begin(self): # bu satırı içeriye almayı dene.

methodların indenti yanlış gibi geldi bana
 
Seçkin Üye
Katılım
9 Tem 2017
Mesajlar
596
Çözümler
1
Tepki puanı
14
Ödüller
6
Yaş
32
8 HİZMET YILI
Kodlarda sorun göremedim
 
Seçkin Üye
Katılım
19 Eyl 2015
Mesajlar
580
Tepki puanı
26
Ödüller
10
10 HİZMET YILI
init yok.
Python:
def __init__(self):
    self.begin = []
Çözdüysen dön bana.
 
Süper Üye
Katılım
22 Şub 2019
Mesajlar
633
Çözümler
1
Tepki puanı
53
Ödüller
6
Yaş
31
7 HİZMET YILI
aldıgın hatayı acıklarsan yardımcı olurum
 
who knows when you will be gone
Seçkin Üye
Katılım
31 Mar 2018
Mesajlar
334
Tepki puanı
105
Ödüller
9
Yaş
25
8 HİZMET YILI
Kodlarda sorun göremedim
Post automatically merged:

hata yok devamke
 
Onaylı Üye
Katılım
2 Mar 2018
Mesajlar
118
Tepki puanı
29
Ödüller
5
Yaş
36
8 HİZMET YILI
python listinde köşeli parantez içine tırnak işareti koymayı dene kardeşim.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst