我遇到这问题的时候的源代码:

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‘)相关推荐

  1. Python基础笔记_Day12_Python元类、type动态创建类、Python动态创建方法、Python运算符、Python发邮件、短信

    Day12_Python元类.type动态创建类.Python动态创建方法.Python运算符重载.Python发邮件.短信 12.01_Python语言基础(类对象)(熟悉) 12.02_Pytho ...

  2. python 发邮件 timeout_python发送邮件

    一.相关模块介绍 发送邮件主要用到了smtplib和email两个模块,这里首先就两个模块进行一下简单的介绍: 1.smtplib模块 smtplib.SMTP([host[, port[, loca ...

  3. python发邮件有什么意思_python发邮件要装什么

    在介绍具体的实现python发邮件的具体操作之前,我觉得有必要介绍下SMTP,更有助于理解python发邮件的实现原理.SMTP协议属于TCP/IP协议簇,即简单邮件传输协议,它是一组用于由源地址到目 ...

  4. python发邮件图片太长显示不出来_小白入门,用python 发送定时邮件,将Dataframe转为邮件正文,链接显示为图片...

    在实际工作中,我们常常会遇到定时发送邮件的任务,基于我的实践,分享给大家,也许一篇文章写不完,就先列个目录. 本文想要解决的问题: 用python构造一封邮件,并设置定时发送出去.往往,这只是最低级的 ...

  5. python发邮件详解,smtplib和email模块详解

    在介绍具体的实现python发邮件的具体操作之前,我觉得有必要介绍下SMTP,更有助于理解python发邮件的实现原理.SMTP协议属于TCP/IP协议簇,即简单邮件传输协议,它是一组用于由源地址到目 ...

  6. Python发邮件时报错 554

    Python发邮件时报错 554 错误: smtplib.SMTPDataError: (554, b'DT:SPM 163 smtp10,DsCowAA3h9_QbgZXI9_fCQ--.713S2 ...

  7. python发邮件详解 -- smtplib和email模块

    文章目录 python发邮件详解,-->smtplib和email模块 1.python发邮件所需要的基础包 2.smtplib的用法 3.email模块的详细理解和使用 A.MIMEText对 ...

  8. 网易163邮箱开通smtp邮件协议后用python发邮件

    网易SMTP开通及python发邮件 1.登录 2.设置 开启服务 短信验证开启服务 得到授权码 3.发文本代码 4.发html代码 1.登录 网易邮箱登录注册地址 https://email.163 ...

  9. day21-办公自动化:利用Python发邮件

    Excel中绘制图表 下载三方库openpyxl pip install openpyxl from datetime import datetimefrom openpyxl from openpy ...

最新文章

  1. 余额宝 vs. P2P网贷,谁更有生命力?
  2. 第一批 | Share·2015产品经理O2O论坛免费票发放啦!
  3. rqt teb参数动态调试工具_16.ROS常用工具:Rviz/rqt
  4. php 接口继承接口
  5. 【动态规划】天上掉馅饼
  6. C++之sizeof(vector)
  7. 中级软件测试技能,中级软件测试工程师的职责描述精选
  8. aics6圆角插件怎么安装_AI圆角插件!助你更快设计字体 Xtream Path1.4的安装使用教程...
  9. php ipa 版本定制,自建IOS企业包ipa包 下载服务
  10. 自控原理入门详解**********
  11. 分享一个有意思的游戏
  12. 【flask】 flask
  13. compare和compareTo使用区别
  14. 单片机C语言的“进程调度轮询”
  15. 计算机四级网络工程师真题答案解析,计算机四级网络工程师历年真题及答案
  16. 概率统计D 01.06 伯努利概型
  17. 艾美捷CpG-A DNA,人/小鼠的功能和应用
  18. 机器视觉开源代码合集
  19. 极智开发 | 谈谈 GPU 利用率
  20. 从U盘启动Linux后拔出U盘,U盘安装LINUX系统,拔除U盘后无法引导系统

热门文章

  1. 2021天梯赛总决赛-L2-4 哲哲打游戏
  2. 子域名查询 端口信息
  3. js查询手机号码归属地
  4. drf 获取域名+端口_如何注册域名(+简单提示可免费获取)
  5. win10中maven的配置
  6. Windows 下安装并配置Maven
  7. 家庭卡拉OK的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  8. 【从零开始学习深度学习】25.卷积神经网络之LeNet模型介绍及其Pytorch实现【含完整代码】
  9. 数据治理系统解决方案浅析
  10. Excel如何快速给自家的男宝宝起名字