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

yipeiwu_com6年前Python基础

本文实例讲述了Python实现向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程序设计有所帮助。

相关文章

django实现登录时候输入密码错误5次锁定用户十分钟

django实现登录时候输入密码错误5次锁定用户十分钟

在学习django的时候,想要实现登录失败后,进行用户锁定,切记录锁定时间,在网上找了很多资料,但是都感觉不是那么靠谱,于是乎,我开始了我的设计,其实我一开始想要借助redis呢,但是想...

浅谈用Python实现一个大数据搜索引擎

浅谈用Python实现一个大数据搜索引擎

搜索是大数据领域里常见的需求。Splunk和ELK分别是该领域在非开源和开源领域里的领导者。本文利用很少的Python代码实现了一个基本的数据搜索功能,试图让大家理解大数据搜索的基本原理...

浅谈python3.6的tkinter运行问题

python3.6在运行tkinter时要选择 run as Python unit-test, 否则报错 ModuleNotFoundError: No module named 't...

使用python开发vim插件及心得分享

使用python开发vim插件及心得分享

vim有各种强大的插件,这不仅归功于其提供的用来编写插件的脚本语言vimL,还得益于它良好的接口实现,从而支持python等语言编写插件。当vim编译时带有+python特性时就能使用p...

django在接受post请求时显示403forbidden实例解析

本文研究的主要是django在接受post请求时显示403forbidden时的处理方法,具体代码如下。 最近在做一个项目需要用到Django框架 在测试Django的时候发现一个问题,...