发表于: 2018-03-14 21:51:14
3 913
今天完成的事情:今天的邮件可以自动发送了,学习了一下字符串的拼接,
明天计划的事情:继续学习python基础知识
遇到的问题:字符串与数字拼接时需要把数字转化为字符串类型,不然会报typeerror,可以使用bytes() 来转化数字,
收获:学会了简单的字符串拼接,知道了什么是生成器和迭代器
现在完成的部分代码:
# coding:utf-8
import os
import re
import smtplib
from email.MIMEText import MIMEText
from email.header import Header
smtpserver = "smtp.163.com" # 设置服务器
username = "xxxxx@163.com" # 用户名
password = "口令" # 口令
"""
QQ:QQ邮箱设置-账户开启POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,
需要发送一条短信,授权码记住后可以重复使用。
163:设置-POP3/SMTP/IMAP 点开启,按照步骤往下做,会要一个密码的吧
"""
sender = 'xxxxx@163.com'#发送邮件的邮箱
receiver = ['xxxx@qq.com'] # 接收邮件,可设置为你用来接收的邮箱
pattern = re.compile(r'^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}') #匹配邮箱的正则
filepath = r"D:/source/nginx/logs/access.log" #本体文件的路径
ret = {}#每个ip及访问次数
dress = []#前十个访问的IP地址
with open(filepath, 'r') as f:
for line in f.readlines():
#print line
match = pattern.match(line)
#print match
if match:
ip = match.group(0)
dress.append(ip)
if ip in ret:
views = ret[ip]
else:
views = 0
views = views + 1
ret[ip] = views
print ret
for i in range(10):
subject = '访问的前十个ip'#主题,
n = bytes(i+1)
message = MIMEText('这个ip' + dress[i] + '是第' + n + '访问你的', 'plain', 'utf-8')
message['Subject'] = subject #主题
message['From'] = 'xxxx <xxxxx@163.com>' #发件人
message['To'] = 'xxxx@qq.com' #收件人
server = smtplib.SMTP_SSL(smtpserver, 465)
server.login(username, password)
server.sendmail(sender, receiver, message.as_string())
server.quit()
print u"邮件发送成功"
评论