开机自启动发送邮件(短信程序)
本想直接做发送短信程序,但是阿里云短信模板要求必须有程序
那就先做一个邮件程序
原理很简单:
1.编写邮件发送程序,一运行就发送
2.将此程序设置为开机自启动
目录
- 1.程序
- 2. 设置
- 3.注意:
- 4.短信程序写不了了
1.程序
#!/usr/bin/python3import smtplib
from email.mime.text import MIMEText
from email.header import Header
import timedef email_se(url, text):"""难点:新浪邮箱和网易邮箱都要求发件人名称与message[‘From’]的内容一致,所以message[‘From’]的内容中不能用‘utf-8’:param url: 收件人地址:param text:要发送的字符串:return: 无"""# 第三方 SMTP 服务mail_host = 'smtp.sina.com'mail_user = '用户名'mail_pass = '密码'sender = 'buct_report@sina.com'receivers = url # 接收邮件,可设置为你的QQ邮箱或者其他邮箱message = MIMEText(text, 'html', 'utf-8') # 邮件内容message['From'] = Header('report@sina.com') # 邮件发送人message['To'] = Header('家庭电脑通知', 'utf-8') # 收件人名称subject = '电脑打开时间' # 主题message['Subject'] = Header(subject, 'utf-8')try:smtpObj = smtplib.SMTP()smtpObj.connect(mail_host, 25) # 25 为 SMTP 端口号smtpObj.login(mail_user, mail_pass)smtpObj.sendmail(sender, receivers, message.as_string())print("邮件发送成功")except smtplib.SMTPException:print("Error: 无法发送邮件")if __name__ == '__main__':# 一个url只能发一个,要for循环发送# for url in url_list:# passlocaltime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())email_se('571028495@qq.com', str(localtime)+'您的电脑已经打开,请注意回去揍孩子(doge)')
之后打包文件成exe格式,在pycharm中只需要点开Terminal,输入
pyinstaller -F xxx.py(xxx.py,打包的文件)
打包好的文件在项目文件的dist文件夹中

2. 设置
此部分参考Windows设置自己的程序开机自动启动的文章,我们选用最简单的方法:将程序快捷方式拖到启动文件夹
1.win+r打开命令框
2.输入
shell:startup
点击回车

3.会进入启动文件夹,将程序快捷方式拖进来即可。

邮件示例:

3.注意:
1.如果之前没有打包过文件夹,记得安装pyinstaller,
安装指令:pip install pyinstaller
2.此程序若需要更改目标用户,需更改程序代码,没有相应配置文件。
4.短信程序写不了了
阿里云、百度云、华为云都需要提供应用商店内可供下载的程序,审核很严格,起码csdn里的程序资源不行。我就写一个这么简单的程序,估计进不去,就放弃了。感觉几乎不对个人用户开放短信平台了,麻烦。
如果有大佬知道有什么好用的短信平台也可以说一下,万分感谢。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
