Python ile E-Posta

Başlatan SametAras, 26 Eylül 2009 - 14:33:34

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

SametAras

Merhabalar,

Python ile çoğul E-Posta gönderme sistemi yapıyorum. Bir yazı dosyasını okuyup, istenilen E-Posta adresine gönderebiliyorum. Lakin bunu çoğul yapmalıyım, şöyle:

liste = ["mail@mail.com","mail1@mail.com","mail2@mail.com"]


Yukarıdaki gibi bir listemiz olduğunu varsayalım. E-Posta gönderme komutları çalışacak ve

toaddr = liste[0]

dersem 0'ıncı elemena E-Posta gönderecektir. Ama bunun böyle tekrar etmesini istiyorum. Bir döngü ile yapabileceğimi düşünüyorum.

#!/usr/bin/env python

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



import smtplib

from email.MIMEMultipart import MIMEMultipart

from email.MIMEText import MIMEText



f = file("email.txt")

line = f.read()




server = smtplib.SMTP('smtp.gmail.com', 587)

print server.ehlo()

print server.starttls()

fromaddr = "ynlfehhz@gmail.com"

toaddr = "ynlfehhz@gmail.com"

msg = MIMEMultipart()

msg['From'] = fromaddr

msg['To'] = toaddr

msg['Subject'] = "Python email yeni"

body = line

msg.attach(MIMEText(body, 'plain'))

server.login("ynlfehhz@gmail.com","")

text = msg.as_string()

server.sendmail(fromaddr, toaddr, text)





Saygılarımla;
Aras, Samet.


rutku

Şöyle bir algoritma çıkarırsan iyi olur. Çoğu e-posta sunucularından, aynı anda en fazla  50 posta adresine mesaj atabiliyorsun. Bunu ele alırsak; 50 elemanlık bir dizi olmalı. Kullanıcı 50 veriyi girdiğinde program veri akışını kesmeli ve 50 e-posta yı tek bir string değerde birleştirmeli. Ardından bunu göndermeli. Kullanıcı 50 yi doldurmadığında bunu bildirmeli ve gerekli method çalıştırılmalı.

İstersen foreach kullanarak teker tekerde atabilirsin. Bu sanırım bu durumda time.sleep de kullnmak gerekecek.

İyi günler ...
Hayallerini kodla ...

uKiriş
Mezgeldek

gotocan

Bazı sunucular çoklu gönderileri spam olarak algılayabiliyor.
Bu yüzden tek tek göndermek daha mantıklı.

for i in liste:
    toaddr = i


gibi bir döngü daha mantıklı olabilir.
Ya da kaçar kaçar göndereceği kullanıcıya bırakılabilir.

Saygılar...
goto www.gotocan.com;
http://ubuntucounter.geekosophical.net//img/ubuntu-user.php?user=28544
Nam-ı diğer : macellan

SametAras

Merhaba,

Arkadaşlar teşekkür ederim. Döngüde bir hata yapmışım, şimdi oldu.

Saygılarımla;
Aras, Samet.