环境:python3, win10
1.直接上代码:
import smtplib
from email.header
import Header
from email.mime.text
import MIMEText
# 第三方 SMTP 服务
mail_host =
"smtp.163.com"
# SMTP服务器
mail_user =
"*****@163.com"
# 用户名
mail_pass =
"*********"
# 授权密码,首先要去邮箱上激活smtp服务器
sender =
'******@163.com'
# 发邮件人 ,要和授权邮箱一致
receivers =
'245848286@qq.com'
# 收邮件人
# content = ' 内容如下' # 邮件内容
title =
'**项目'
# 邮件主题
def
sendEmail(
msg):
content = msg
message = MIMEText(content,
'plain',
'utf-8')
# 内容, 格式, 编码
message[
'From'] =
"{}".format(sender)
message[
'To'] = receivers
message[
'Subject'] = title
try:
smtpObj = smtplib.SMTP_SSL(mail_host,
465)
# 启用SSL发信, 端口一般是465
smtpObj.login(mail_user, mail_pass)
# 登录验证
smtpObj.sendmail(sender, receivers, message.as_string())
# 发送
print(
"邮件发送成功.....")
except smtplib.SMTPException
as e:
print(e)
if
__name__ ==
"__main__":
msg =
input(
"请输入要发送的内容:")
sendEmail(msg)
2.上述代码运行的时候报了554错误,后开发现原因是因为邮件内容中含有test等敏感词,被误判成了垃圾邮件。
更改之后发送邮件,虽然没有报错,但是还是被判断为垃圾邮件。所以如果发送成功,但是没有找到邮件,可以被拦截的垃圾邮件里面找一下。
参考文章:http://www.runoob.com/python/python-email.html