首页 编程教程正文

七夕快到了之教我表弟学表白(附获取对方IP及自动发送邮件)

piaodoo 编程教程 2020-02-22 22:03:16 880 0 python教程

本文来源吾爱破解论坛

本帖最后由 sherlo 于 2018-8-14 09:35 编辑

表弟是个大二的学生,成绩还不错,但是由于性格比较内向,连和女生多说几句话都不敢,这可把我急得,于是教了表弟 一个 '古老'的表白方法。
对,就是简单粗暴的使用控制台打印一些好看的符号或者情话。表弟刚开始觉得有点老掉牙,说“这好几年前的东西了,有点老掉牙了,而且我也不知道对方是否接受我呢(我又不敢多问)!”
针对表弟这个需求 ,于是便有了自动获取对方的输入(接受,拒绝之类的)并返回给自己,顺便获取对方IP地址并根据对方的选择自动发送相应的回复邮件(基于SMTP)
以下内容主要提供思路,根据自己的需求自行发挥,同时需要将py文件打包成exe文件(对方才能在没有python的情况下运行),不会的请多百度一下

1.首先输入一个好看的’图形‘吧(网上一大堆例子,可以选择自己喜欢的),我这里也提供一个 ,大概样子就是顺序输出’Dear,I love you‘
[Python] 纯文本查看 复制代码

import time
sentence = "Dear, I love you forever!"
for char in sentence.split():
   allChar = []
   for y in range(12, -12, -1):
       lst = []
       lst_con = ''
       for x in range(-30, 30):
            formula = ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3
            if formula <= 0:
                lst_con += char[(x) % len(char)]
            else:
                lst_con += ' '
       lst.append(lst_con)
       allChar += lst
   print('\n'.join(allChar))
   time.sleep(1)

1.png (18.61 KB, 下载次数: 0)

下载附件  保存到相册

2018-8-14 06:58 上传



2.‘花里胡哨’的东西运行了,如果需要获取对方IP(保证对方网络通畅),将以下代码写入整个py文件中 。原理就是发送一个request请求到目标网址(查IP的)http://httpbin.org/ip,把得到的response记录下来待会同时发到邮箱中保存!代码如下[Python] 纯文本查看 复制代码
headers={
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'
}
try:
    resp=requests.get('http://httpbin.org/ip',headers=headers,timeout=3)
    ip=resp.json()['origin']
except requests.exceptions.ConnectionError:
    print('请保证网络通畅,无网络!')
except requests.exceptions.ReadTimeout:
    print('请保证网络通畅,程序即将退出!')
    time.sleep(5)
    os.system(exit())

3.然后 ,发挥你的文字功底,开始你的表演了,类似这样:
[Python] 纯文本查看 复制代码
list=['666,我太高兴了','这虽然不是我想要的结果,但我尊重你的选择!','我会加倍努力,让你接受我的!']
print('亲爱的,我喜欢你很久了,你愿意接受我吗?(1:接受 2:不接受 3:暂时不考虑)')
print('你有10秒考虑时间,请仔细考虑!')
time.sleep(10)
print('请遵从你的内心大胆输入,一次就好:')
a=input()
while(a!='1' and a!='2'  and a!='3'):
    print('输入错误,请重新输入!:')
    print('1:接受,2:不接受 3:暂时不考虑')
    a=input()

解释一下这个list,list里面存放你将发给对方邮箱的内容 ,对应我写的3个选择(你可以增加或者减少选择)
4.根据第三步获取到的输入(a),传入到一个发送邮件的函数中 ,对方能获取到一封来自你的邮件,在已发送中可查看详情并判断对方的选择。
[Python] 纯文本查看 复制代码
def send(a):
#以qq邮箱为例
    smtpserver = 'smtp.qq.com'
    user = '发送方(你)的邮箱账号'
    password = '发送方(你)的邮箱的SMTP授权码'
    sender ='发送方(你)的邮箱账号'
    #receive为接收方,也可以写自己(不让对方知道)
    receive = '接收方(她)的邮箱账号'
    #subject为邮件主题
    subject ='Dear'
    #定义格式及输入内容
    msg=MIMEText('<html><h1>%sIP:%s</h1></html>'%(list[a-1],ip),'html','utf-8')
    msg['Subject']=Header(subject,'utf-8')
    #执行发送操作
    smtp = smtplib.SMTP()
    smtp.connect(smtpserver)
    smtp.login(user,password)
    smtp.sendmail(sender,receive,msg.as_string())
    smtp.quit()


send(int(a))
print('谢谢你的选择!')
time.sleep(5)

补充说明一下,以qq邮箱为例,它的发送功能的实现需设置开通SMTP服务 ,开启后会有一个授权码,在password中填入,如果怕不安全可以用自己的小号充当这个发送方(怕对方抓包,我考虑的有点多了),只要接收方确定就行,在代码msg=MIMEText('<html><h1>%sIP:%s</h1></html>'%(list[a-1],ip),'html','utf-8')中,根据对方输入的a的值输出了list列表中对应内容及对方IP,如果不需要IP删掉对应代码即可!如图:

2.png (32.74 KB, 下载次数: 0)

下载附件  保存到相册

2018-8-14 07:58 上传

3.jpg (87.79 KB, 下载次数: 0)

下载附件  保存到相册

2018-8-14 08:34 上传


再次强调 :我仅提供思路,语言方面请自行修改,争取get到你的对象 !
另外:如果你确定只跟一个人表白(这样最好哈),最好自己把receieve写死,如果你像我表弟喜欢的不止一个(哈哈哈),又懒得每次都修改下发送对象并且需要生成不同的exe,可以尝试先定义一个列表存储你要发送的所有人的qq,并添加一个input(),让对方输入自己的qq号,并判断在列表中是否存在(防止对方乱写),然后将这个输入的值传入到receive中就可以了。当然 receieve也可以写成自己,没了回复效果但是能知道对方的选择。至于对方多次运行这个exe,并尝试选择不同的回应,这个不可控哈。
关于IP的题外话,获取到的IP可以实现精确定位http://chaipip.com/ip.php
这里我放一个exe的demo,帮助没有打包经验的同学看看运行效果。单纯只有print功能的哈,至于为什么,看懂这个帖子就不会纠结了。
链接: https://pan.baidu.com/s/1Fz0Gh-1_doaCevfrmY99AQ 密码: b8uc

评分五部曲.png (57.42 KB, 下载次数: 0)

下载附件  保存到相册

2018-8-14 09:16 上传


版权声明:

本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。

有关影视版权:本站只供百度云网盘资源,版权均属于影片公司所有,请在下载后24小时删除,切勿用于商业用途。本站所有资源信息均从互联网搜索而来,本站不对显示的内容承担责任,如您认为本站页面信息侵犯了您的权益,请附上版权证明邮件告知【754403226@qq.com】,在收到邮件后72小时内删除。本文链接:https://www.piaodoo.com/7441.html

搜索