发表于: 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"邮件发送成功"



返回列表 返回列表
评论

    分享到