- 論壇徽章:
- 0
|
代碼如下:
#! /usr/bin/env python
#coding=gbk
import sys, smtplib, os
from datetime import date
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
import email.iterators
import email.generator
from email import Encoders
import time
#############
#讀取郵件列表
file_object = open('list.txt')
try:
all_the_text = file_object.readlines( )
finally:
file_object.close( )
#讀取配置文件
mailto_list = all_the_text
file_object = open('set.txt')
try:
all_the_text = file_object.readlines( )
finally:
file_object.close( )
set_list = all_the_text
#########格式化配置文件#############
def get_mail_fomat(index):
return_str = set_list[index]
return_str = return_str.replace("\n","")
return_str = return_str.split('=')[1]
return return_str
##########發(fā)送郵件############
def send_mail(to_list,sub,content):
'''
to_list:發(fā)給誰
sub:主題
content:內(nèi)容
send_mail("aaa@126.com","sub","content")
'''
me=mail_user+"<"+mail_user+"@"+mail_postfix+">"
msg = MIMEText(content)
msg['Subject'] = sub
msg['From'] = me
#msg['To'] = ";".join(to_list)
msg['To'] = to_list
try:
s = smtplib.SMTP()
s.connect(mail_host)
s.login(mail_user,mail_pass)
s.sendmail(me, to_list, msg.as_string())
s.close()
return True
except Exception, e:
print str(e)
return False
if __name__ == '__main__':
send_succeed_num = 0
send_fail_num = 0
#####################
#設(shè)置服務(wù)器,用戶名、口令,郵箱的后綴以及標(biāo)題和內(nèi)容
mail_host = get_mail_fomat(0)
mail_user = get_mail_fomat(1)
mail_pass = get_mail_fomat(2)
mail_postfix = get_mail_fomat(3)
mail_subject = get_mail_fomat(4)
mail_content = get_mail_fomat(5)
for i in mailto_list:
i = i.strip()
if send_mail(i,mail_subject,mail_content):
send_succeed_num +=1
print "%s-->發(fā)送成功"%i
else:
send_fail_num +=1
print "%s-->發(fā)送失敗"%i
time.sleep(1)
print "\n-------------發(fā)送成功%d條" %send_succeed_num
print "\n-------------發(fā)送失敗%d條" %send_fail_num
在配置文件里放一個郵箱,可以成功發(fā)送,放兩個以上的郵箱,就全部提示發(fā)送失敗,請問是什么問題? |
|