Python基础之发送邮件

一、实现python发送邮件

参考:简单三步,用 Python 发邮件

1、发送测试:

import smtplib
from email.mime.text import MIMEText
#设置服务器所需信息
#163邮箱服务器地址
mail_host = ‘smtp.163.com’
#163用户名
mail_user = ‘159*****02’
#密码(部分邮箱为授权码)
mail_pass = ‘7******x’
#邮件发送方邮箱地址
sender = ‘159*****02@163.com’
#邮件接受方邮箱地址,注意需要[]包裹,这意味着你可以写多个邮件地址群发
receivers = [’59*****02@qq.com’]

#设置email信息
#邮件内容设置
message = MIMEText(‘content’,’plain’,’utf-8′)
#邮件主题
message[‘Subject’] = ‘title’
#发送方信息
message[‘From’] = sender
#接受方信息
message[‘To’] = receivers[0]

#登录并发送邮件
try:
smtpObj = smtplib.SMTP()
#连接到服务器
smtpObj.connect(mail_host,25)
#登录到服务器
smtpObj.login(mail_user,mail_pass)
#发送
smtpObj.sendmail(
sender,receivers,message.as_string())
#退出
smtpObj.quit()
print(‘success’)
except smtplib.SMTPException as e:
print(‘error’,e) #打印错误

测试结果:

用163信箱发公司信箱 #OK
用公司信箱发给自己 #NG,把 smtpObj.connect(mail_host,25) 换为 smtpObj = smtplib.SMTP_SSL(mail_host) 也不行

邮件设置中的POP3与IMAP有啥区别

简单说,POP3客户端不改变邮箱服务器的内容,而IMAP客户端会与邮箱服务器内容“同步”。

二、实现python自动发出路由器ip地址更新邮件

登录路由器 #Windows 10下,cmd或power shell下,ssh都无法登录路由器,git bash可以,为什么?
ip addr | mail @example.com # ip信息复杂混乱,路由器梅林固件提示 -sh mail : not found
curl ifconfig.co | mail @example.com #curl 获得外网ip
curl “https://yoursite.com:passwd@dyn.dns.he.net/nic/update?hostname=yoursite.com” #用 DDNS 服务动态更新 A 记录,没验证,这个功能狂赞啊!

有这样的程序吗?有动态公网 IP 的机器,一旦 IP 发生改变,就给设定好的邮箱发邮件告知最新的 IP?

三、python自动更新DNS中路由器ip地址解析

Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

You are commenting using your WordPress.com account. Log Out /  更改 )

Google photo

You are commenting using your Google account. Log Out /  更改 )

Twitter picture

You are commenting using your Twitter account. Log Out /  更改 )

Facebook photo

You are commenting using your Facebook account. Log Out /  更改 )

Connecting to %s