【发布时间】:2019-03-09 11:33:07
【问题描述】:
所以基本上,我制作了一个 python 脚本,每 12 小时向我发送一封包含我的公共 IP 的电子邮件。我的目标是让它仅在我的 IP 更改时自动发送电子邮件。如果你们能给我一些帮助,我会很高兴的。
这是我的代码:
from json import loads
from urllib.request import urlopen
import time
import smtplib
while True:
data = loads(urlopen("http://httpbin.org/ip").read())
print ("The public IP is : %s" % data["origin"])
try:
server_ssl = smtplib.SMTP_SSL('smtp.gmail.com', 465)
server_ssl.ehlo()
server_ssl.login("fromemail@gmail.com", "password")
msg = """From: Automated Python Script <fromemail@gmail.com>
To: First Last <toemail@gmail.com>
Subject: SMTP e-mail test
""" + data["origin"] + """
"""
server_ssl.sendmail("fromemail@gmail.com", "toemail@gmail.com", msg)
print ("Successfully sent email!")
time.sleep(720)
except SMTPException:
print ("Something went wrong...")
顺便说一句,它在 python 3 中。
我真的希望它在我的公共 IP 更改时自动向我发送一封电子邮件,而不是每 12 小时向我发送一封可能具有相同 IP 的电子邮件。
谢谢!
【问题讨论】:
-
您的脚本每 12 分钟而不是几小时发送一次。
标签: python python-3.x automation gmail