现在的位置: 首页 > 软件测试 > 测试工具 > 软件测试 > 正文

向QQ群成员单独自动发邮件的Python脚本

2014年08月21日 测试工具, 软件测试 ⁄ 共 1255字 ⁄ 字号 暂无评论 ⁄ 阅读 3,651 次

最近受人之托,写了一个可以单独向每个QQ群成员自动发送邮件Python脚本。

脚本比较简单,主要分为2部分:

1.  获取QQ群成员QQ号码,QQ群成员信息可以在如下网页中获取,选择全部成员保存在txt中即可

http://qun.qzone.qq.com/group#!/123456/member

(123456为QQ群号码)

2.  解析获取的QQ群成员列表list.txt,给每个成员单独自动发送邮件,这里使用的发送方是163邮箱

完整脚本如下:

#coding:utf-8
import random
import smtplib
from email.mime.text import MIMEText
import time


def send_mail(mailto):
	print 'Setting MIMEText'
	CT=open('content.txt','r')	#读取发送邮件内容
	content=CT.read().decode('utf-8')
	msg=MIMEText(content.encode('utf8'),_subtype='html')

	CT.close()#关闭文件
	msg['From']=mail_user
	msg['SUbject']=u'Python邮件发送测试'
	msg['To']=mailto
        
	try:
		print 'Connectting',mail_host
		s=smtplib.SMTP_SSL(mail_host,465)

		print 'Login to mail_host'
		s.login(mail_user,mail_pwd)

		print 'Send mail'
		s.sendmail(mail_user,mailto,msg.as_string())

		print 'Close the connection between the mail server'
		s.close()
	except Exception as e:
		print "Exceptioin ",e

def sendqunmail():
    try:
	f=open(filelist,'r')
	lines=f.readlines()
	for i in range(len(lines)-1):
		if lines[i].find('(')<>-1 and lines[i].find(')')<>-1:
			qqnum=lines[i].split('(')[1].split(')')[0]
			if qqnum.isdigit():
				[email protected]'
				print 'Sendmail to:'+mailto
				send_mail(mailto)
				time.sleep(10)
    except Exception,ex:
	print filelist,ex

if __name__=="__main__":
	mail_host='smtp.163.com'
	[email protected]'
	mail_pwd='test123'	
	filelist='list.txt'
	sendqunmail()