【tool】ubuntu开机发送IP到QQ邮箱

前言:

因为粗心大意,每次连接服务器都得查看一下ip,固定ip也有不好用的时候呀,所以每次开机都给我发一个吧

代码:

python 复制代码
# 发送多种类型的邮件
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText


import socket

def get_host_ip():
    """
    查询本机ip地址
    :return: ip
    """
    try:
        s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        s.connect(('8.8.8.8', 80))
        ip = s.getsockname()[0]
    finally:
        s.close()

    return ip


def send_ip():
    msg_from = '123456@qq.com'  # 发送方邮箱
    passwd = 'bdrrvqzsbssdbach'  # 就是上面的授权码

    to = ['123456@qq.com']  # 接受方邮箱

    # 设置邮件内容
    # MIMEMultipart类可以放任何内容
    msg = MIMEMultipart()


    # 设置邮件主题
    msg['Subject'] = f"my-ubuntu:ip:{get_host_ip()}"

    # 发送方信息
    msg['From'] = msg_from

    # 开始发送

    # 通过SSL方式发送,服务器地址和端口
    s = smtplib.SMTP_SSL("smtp.qq.com", 465)
    # 登录邮箱
    s.login(msg_from, passwd)
    # 开始发送
    s.sendmail(msg_from, to, msg.as_string())
    print("邮件发送成功")

if __name__ == '__main__':
    send_ip()
相关推荐
MarcoPage16 分钟前
Python 字典推导式入门:一行构建键值对映射
java·linux·python
ζั͡山 ั͡有扶苏 ั͡✾6 小时前
从零搭建 Data-Juicer:一站式大模型数据预处理与可视化平台完整教程
python·data-juicer
SkylerHu6 小时前
tornado+gunicorn部署设置max_body_size
python·tornado·gunicorn
独行soc7 小时前
2025年渗透测试面试题总结-234(题目+回答)
网络·python·安全·web安全·渗透测试·1024程序员节·安全狮
木头左7 小时前
年化波动率匹配原则在ETF网格区间选择中的应用
python
清空mega7 小时前
从零开始搭建 flask 博客实验(3)
后端·python·flask
程序员小远8 小时前
7个常见的Jmeter压测问题
自动化测试·软件测试·python·测试工具·测试用例·压力测试·性能测试
红尘炼丹客8 小时前
《DeepSeek-OCR: Contexts Optical Compression》速览
人工智能·python·自然语言处理·ocr
☼←安于亥时→❦8 小时前
Playwright 安装与使用
python·playwright
大佬,救命!!!8 小时前
python实现象棋
开发语言·python·学习笔记·pygame·少儿编程·记录成长