python发送QQ邮件

 

我目前在给自己服务器做了一个邮件登入系统,就是当有人登入到我的服务器时,服务器会自动给我发送一封邮件,我采用的是smtp协议的邮件系统,QQ也支持这种方法,所以我采用了QQ邮件的SMTP服务器。

首先你需要在你的QQ邮件里开启它

在你的qq邮件里找到设置-账户

选择开启smtp

注意完成之后要牢记你的授权码

下面这段是python使用smtp库的代码,其中包括了获取当前登录日志ip的功能

这段代码的作用是,当用户登入后会获取登入最近十次的IP地址然后发送至邮箱

1.导入库

#coding=utf-8
import smtplib
import os
from email.mime.text import MIMEText

2.获取shell命令输出函数,用于执行命令获取最近登录ip

def execCmd(cmd):
  r = os.popen(cmd)
  text = r.read()
  r.close()
  return text

3.设置你的qq邮箱smtp账号与授权码

msg_from='xxx@qq.com'                             
passwd='moomibjihxxddcha'    

4.设置要发送给谁的邮箱

可以是任意邮箱,但需要支持smtp,现在基本上都是支持的,你也可以在你的配置里看一下

msg_to='xxx@qq.com'   

5.获取最近登入ip

result = execCmd("last")    

6.设置报文与发送

Subject为邮件标题

From发送者邮箱地址

To为目标邮箱

msg为内容,用到MIMEText函数转换成邮件内容格式

一般情况下smtp服务器地址就是你注册的邮件服务商地址,smtp.qq.com或smtp.163.com同时端口一律按照标准来都是465

subject="有人登录了!!!!"                                     
content=result
msg = MIMEText(content)
msg['Subject'] = subject
msg['From'] = msg_from
msg['To'] = msg_to
try:
    s = smtplib.SMTP_SSL("smtp.qq.com",465)
    s.login(msg_from, passwd)
    s.sendmail(msg_from, msg_to, msg.as_string())
    print "发送成功"
except s.SMTPException,e:
    print "发送失败"
finally:
    s.quit()

完整代码:

#coding=utf-8
import smtplib
import os
from email.mime.text import MIMEText
def execCmd(cmd):
  r = os.popen(cmd)
  text = r.read()
  r.close()
  return text

msg_from='xxx@qq.com'                             
passwd='moomibjihxxddcha'                                
msg_to='xxx@qq.com'                               

result = execCmd("last")                          
subject="有人登录了!!!!"                                     
content=result
msg = MIMEText(content)
msg['Subject'] = subject
msg['From'] = msg_from
msg['To'] = msg_to
try:
    s = smtplib.SMTP_SSL("smtp.qq.com",465)
    s.login(msg_from, passwd)
    s.sendmail(msg_from, msg_to, msg.as_string())
    print "发送成功"
except s.SMTPException,e:
    print "发送失败"
finally:
    s.quit()

具体效果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

17岁boy想当攻城狮

感谢打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值