Python实现向QQ群成员自动发邮件的方法


Python编程语言Python 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。

本文向大家讲解的是一个Python实现向QQ群成员自动发邮件的方法示例,通过读取txt文本里的QQ成员数据再调用发送邮件函数实现该功能,是非常实用的技巧,需要的朋友可以参考下

原理:

我们需要先获取QQ群中的所有成员并保存到一个txt文本中去,然后再由python读取文件然后进行批量邮件发送了,具体解决方案如下:

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():

mailto=qqnum+'@qq.com'

print 'Sendmail to:'+mailto

send_mail(mailto)

time.sleep(10)

except Exception,ex:

print filelist,ex

if __name__=="__main__":

mail_host='smtp.163.com'

mail_user='test@163.com'

mail_pwd='test123'

filelist='list.txt'

sendqunmail()

相关阅读:

Python实现向QQ群成员自动发邮件的方法

python实现检测远程udp端口是否打开的方法

python实现定时同步本机与北京时间的方法

Python实现对PPT文件进行截图操作的方法

python实现将pvr格式转换成pvr.ccz的方法

python实现同时给多个变量赋值的方法

python实现根据ip地址反向查找主机名称的方法

Python实现登录人人网并抓取新鲜事的方法

Python同时向控制台和文件输出日志logging的方法

Python实现求最大公约数及判断素数的方法

python实现支持目录FTP上传下载文件的方法

Python实现将绝对URL替换成相对URL的方法