Python 发邮件(500, b‘Error: bad syntax‘)
我遇到这问题的时候的源代码:
try:smtp=smtplib.SMTP()smtp.connect('smtp.163.com',25)smtp.login('...','...')smtp.sendmail('xxx@163.com','xxx@163.com',MIMEText('老八秘制小汉堡').as_string())smtp.close()
except Exception as e:print(e)
然后
(220, b'163.com Anti-spam GT for Coremail System (163com[20141201])')
(500, b'Error: bad syntax')
我觉得十分莫名其妙,网上有人说是因为socket.getfqdn()不是主机地址,然后搬出来一堆我看不懂得代码,,,(self没有在类里面用,一堆没啥用的变量)
我就去掉try了,一行一行的试,然后打错了,返回了一关键错误代码
>>> smtp.sendmail('xxx@163.com',['xxx@163.com'],MIMEText('wdwd').as_string())
Traceback (most recent call last):File "<pyshell#95>", line 1, in <module>smtp.sendmail('xxx@163.com',['xxx@163.com'],MIMEText('wdwd').as_string())File "A:\Python\lib\smtplib.py", line 871, in sendmailraise SMTPSenderRefused(code, resp, from_addr)
smtplib.SMTPSenderRefused: (503, b'Error: send HELO/EHLO first', 'xxx@163.com')
我一看,原来SMTP类还有个ehlo函数(要写在login函数之前)不过不能直接用,参数要写邮箱的smtp地址:
>>> smtp.ehlo('smtp.163.com')
(250, b'mail\nPIPELINING\nAUTH LOGIN PLAIN\nAUTH=LOGIN PLAIN\ncoremail ............................................\nSTARTTLS\n..........') #原来的东西被我用点替换了,反正我觉得暴露出去挺危险的
然后看这架势就大功告成了,最后在登入
>>> smtp.login('.......','..........')
(235, b'Authentication successful')
这下就可以愉快的sendmail了
>>> smtp.sendmail('xxx@163.com',['xxx@163.com'],MIMEText('wdwd').as_string())
{}
源代码:
import smtplib
from email.mime.text import MIMEText
from email.header import Headerclass Mail:'''('sender':(String) Mail sender,'sendto':(Tuple or List) Mail receivers,'smtp_host':(String) SMTP Server host,'smtp_port':(Int) SMTP Server port,'smtp_user':(String) SMTP Server user,'smtp_userpwd':(String) SMTP Server user's password,'subject':(String) The title of mail,'content':(String) The content of mail,'sendspr':(String) The type of content(such as html,plain...)'''def __init__(self,**args):self.sender = ''self.sendto = []self.smtp_host = ''self.smtp_port = 0self.smtp_user = ''self.smtp_userpwd = ''self.subject = ''self.content = ''self.sendspr = 'plain' #'plain','html'for i in args:if i in self.__dict__:self.__dict__[i] = args[i]def send(self):try:self.smtp = smtplib.SMTP(self.smtp_host,self.smtp_port)self.smtp.ehlo(self.smtp_host)self.smtp.login(self.smtp_user,self.smtp_userpwd)mime = MIMEText(self.content,self.sendspr,'utf-8')mime['From'] = Header(self.sender,'utf-8')mime['To'] = Header(';'.join(self.sendto),'utf-8')mime['Subject'] = Header(self.subject,'utf-8')self.smtp.sendmail(self.smtp_user,self.sendto,mime.as_string())self.smtp.close()except Exception as e:print(e)
Python 发邮件(500, b‘Error: bad syntax‘)相关推荐
- Python基础笔记_Day12_Python元类、type动态创建类、Python动态创建方法、Python运算符、Python发邮件、短信
Day12_Python元类.type动态创建类.Python动态创建方法.Python运算符重载.Python发邮件.短信 12.01_Python语言基础(类对象)(熟悉) 12.02_Pytho ...
- python 发邮件 timeout_python发送邮件
一.相关模块介绍 发送邮件主要用到了smtplib和email两个模块,这里首先就两个模块进行一下简单的介绍: 1.smtplib模块 smtplib.SMTP([host[, port[, loca ...
- python发邮件有什么意思_python发邮件要装什么
在介绍具体的实现python发邮件的具体操作之前,我觉得有必要介绍下SMTP,更有助于理解python发邮件的实现原理.SMTP协议属于TCP/IP协议簇,即简单邮件传输协议,它是一组用于由源地址到目 ...
- python发邮件图片太长显示不出来_小白入门,用python 发送定时邮件,将Dataframe转为邮件正文,链接显示为图片...
在实际工作中,我们常常会遇到定时发送邮件的任务,基于我的实践,分享给大家,也许一篇文章写不完,就先列个目录. 本文想要解决的问题: 用python构造一封邮件,并设置定时发送出去.往往,这只是最低级的 ...
- python发邮件详解,smtplib和email模块详解
在介绍具体的实现python发邮件的具体操作之前,我觉得有必要介绍下SMTP,更有助于理解python发邮件的实现原理.SMTP协议属于TCP/IP协议簇,即简单邮件传输协议,它是一组用于由源地址到目 ...
- Python发邮件时报错 554
Python发邮件时报错 554 错误: smtplib.SMTPDataError: (554, b'DT:SPM 163 smtp10,DsCowAA3h9_QbgZXI9_fCQ--.713S2 ...
- python发邮件详解 -- smtplib和email模块
文章目录 python发邮件详解,-->smtplib和email模块 1.python发邮件所需要的基础包 2.smtplib的用法 3.email模块的详细理解和使用 A.MIMEText对 ...
- 网易163邮箱开通smtp邮件协议后用python发邮件
网易SMTP开通及python发邮件 1.登录 2.设置 开启服务 短信验证开启服务 得到授权码 3.发文本代码 4.发html代码 1.登录 网易邮箱登录注册地址 https://email.163 ...
- day21-办公自动化:利用Python发邮件
Excel中绘制图表 下载三方库openpyxl pip install openpyxl from datetime import datetimefrom openpyxl from openpy ...
最新文章
- 余额宝 vs. P2P网贷,谁更有生命力?
- 第一批 | Share·2015产品经理O2O论坛免费票发放啦!
- rqt teb参数动态调试工具_16.ROS常用工具:Rviz/rqt
- php 接口继承接口
- 【动态规划】天上掉馅饼
- C++之sizeof(vector)
- 中级软件测试技能,中级软件测试工程师的职责描述精选
- aics6圆角插件怎么安装_AI圆角插件!助你更快设计字体 Xtream Path1.4的安装使用教程...
- php ipa 版本定制,自建IOS企业包ipa包 下载服务
- 自控原理入门详解**********
- 分享一个有意思的游戏
- 【flask】 flask
- compare和compareTo使用区别
- 单片机C语言的“进程调度轮询”
- 计算机四级网络工程师真题答案解析,计算机四级网络工程师历年真题及答案
- 概率统计D 01.06 伯努利概型
- 艾美捷CpG-A DNA,人/小鼠的功能和应用
- 机器视觉开源代码合集
- 极智开发 | 谈谈 GPU 利用率
- 从U盘启动Linux后拔出U盘,U盘安装LINUX系统,拔除U盘后无法引导系统