我必须用Python编写一个用于类的SMTP邮件客户端,并且在作业的第一部分中卡住了。在经历了很多麻烦之后,我已经走到了这一步(目前使用免费的便携式SMTP服务器,但以后将需要使用SSL或TLS用于gmail)。下面是我的代码。我得到一个500语法错误,当它到达RCPT到代码的一部分。有人能帮忙吗?from socket import *

msg = "\r\n I love computer networks!"

endmsg = "\r\n.\r\n"

# Choose a mail server

mailServer = 'localhost'

mailPort = 25

# Create socket called clientSocket and establish a TCP connection with mailserver

clientSocket = socket(AF_INET,SOCK_STREAM)

clientSocket.connect((mailServer, mailPort))

recv = clientSocket.recv(1024)

print 'test'

print recv

if recv[:3] != '220':

print '220 reply not received from server.'

# Send HELLO command and print server response.

helloCommand = 'HELO Alice\r\n';

clientSocket.send(helloCommand)

recv1 = clientSocket.recv(1024)

print recv1

if recv1[:3] != '250':

print '250 reply not received from server.'

# Send MAIL FROM command and print server response.

#command = "STARTTLS\r\n"

#clientSocket.send(command)

#recva = clientSocket.recv(1024)

#print(recva)

mailfromCommand = 'MAIL FROM: \r\n.'

clientSocket.send(mailfromCommand)

recv1 = clientSocket.recv(1024)

print(recv1)

if recv1[:3] != '250':

print('mail from 250 reply not received from server.')

# Send RCPT TO command and print server response.

rcpttoCommand = 'RCPT TO: \r\n'

clientSocket.send(rcpttoCommand)

recv1 = clientSocket.recv(1024)

print(recv1)

if recv1[:3] != '250':

print('rcpt to 250 reply not received from server.')

# Send DATA command and print server response

dataCommand = 'Data'

print(dataCommand)

clientSocket.send(dataCommand)

recv1 = clientSocket.recv(1024)

print(recv1)

if recv1[:3] != '250':

print('data 250 reply not received from server.')

# Send message data.

message = raw_input('Enter Message Here: ')

# Fill in end# Message ends with a single period.

mailMessageEnd = '\r\n.\r\n'

clientSocket.send(message + mailMessageEnd)

recv1 = clientSocket.recv(1024)

print(recv1)

if recv1[:3] != '250':

print('end msg 250 reply not received from server.')

# Send QUIT command and get server response.

quitCommand = 'Quit\r\n'

print(quitCommand)

clientSocket.send(quitCommand)

recv1 = clientSocket.recv(1024)

print(recv1)

if recv1[:3] != '250':

print('quit 250 reply not received from server.')

pass

if __name__ == '__main__':

main()

结果:test

220 localhost

250 Hello localhost

250 mail@mail.com Address Okay

RCPT TO:

500 Syntax Error

rcpt to 250 reply not received from server.

Data

python实现邮件客户端_SMTP邮件客户端Python相关推荐

  1. java php python 高并发_关于php如何调用Python快速发送高并发邮件的示例代码

    1 简介 在PHP中发送邮件,通常都是封装一个php的smtp邮件类来发送邮件.但是PHP底层的socket编程相对于python来说效率是非常低的.CleverCode同时写过用python写的爬虫 ...

  2. python自动下载邮件_python实现邮件自动化

    1.自动接收邮件并且下载附件,使用pop3协议. # 接收邮件并下载邮件附件 import poplib import email import datetime import time from e ...

  3. python接口自动化(三十三)-python自动发邮件总结及实例说明番外篇——下

    简介 发邮件前我们需要了解的是邮件是怎么一个形式去发送到对方手上的,通俗点来说就是你写好一封信,然后装进信封,写上地址,贴上邮票,然后就近找个邮局,把信仍进去,其他的就不关心了,只是关心时间,而电子邮 ...

  4. Python(七)之邮件处理

    申明:资料来源于网络及书本,通过理解.实践.整理成学习笔记. 文章目录 发送电子邮件 发送纯文本格式的邮件 发送HTML格式的邮件 发送带附件的邮件 发送图片的邮件 接收电子邮件 使用POP3协议下载 ...

  5. 【电子邮件提醒】用python写个能发邮件的脚本

    [电子邮件提醒]用python写个能发邮件的脚本 文章目录 [电子邮件提醒]用python写个能发邮件的脚本 邮箱使用 使用python发邮件 封装一个发邮件的类 发邮件类 使用说明 前言 : 使用p ...

  6. python 读取邮件内容_python获取邮件内容(邮件内容为html)

    用python获取邮件内容比较简单,直接用现成的imap和pop3包即可,但是有时候邮件的内容不是plainText而是html甚至是一个url链接,原本的操作流程是点击url获取内容(比如csv等等 ...

  7. 两封邮件合并转发_用Python发送自定义电子邮件

    电子邮件仍然是生活中的一个事实.尽管存在各种缺陷,但它仍然是向大多数人发送信息的最佳方式,尤其是以允许消息排队等待收件人的自动化方式. 我的工作重点之一是Feddora社区行动和影响协调员给人们一个关 ...

  8. 手把手教你使用Python轻松搞定发邮件

    击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 自言本是京城女,家在虾蟆陵下住. 前 ...

  9. 通过命令行在Python中测试以太坊RPC客户端

    2019独角兽企业重金招聘Python工程师标准>>> 在这个笔记中,我将使用Python命令行测试以太坊的RPC客户端,准备好狂敲键盘吧.过程中有关JSON RPC的更多信息,可以 ...

  10. python实现摄像头拍照_使用Python控制摄像头拍照并发邮件

    o1 前言 为什么会有写这个程序的想法呢? 最初的想法是写一个可以用电脑前置摄像头拍照的程序,在舍友使用你电脑的时候,不经意间获取到一大堆奇葩舍友的表情包. 然后我又突发奇想,要不搞个开机启动吧,这样 ...

最新文章

  1. 揭秘大型网站架构进化之路
  2. 网络公司如何快速获取网站关键词流量
  3. 深大教授开源的人脸检测库,速度号称史上最快
  4. 【IntelliJ IDEA系列】IDEA编译方式介绍及编译器的设置和选择
  5. 技术系列课回顾 | 视频 QoE 的平衡之道
  6. 【CSS 伪类】顺序
  7. Caused by: java.lang.ClassCastException: weblogic.xml.jaxp.RegistryXMLReader
  8. 算法设计与分析(第四周)贪心算法、背包问题
  9. R语言blotter包及相关工具
  10. 基础设备----笔记
  11. catboost特征重要性_一文讲解特征工程!经典外文PPT及中文解析
  12. 【javascript笔记】关于javascript中的闭包
  13. Linux下安装JDK说明
  14. webpack 样式表抽离成专门的单独文件并且设置版本号
  15. 中医基础理论第二章藏象(心)
  16. V-by-one 与lvds
  17. 计算机表格快捷键,EXCEL表格所有的快捷键《excel一键到底 快捷键》
  18. 计算机知识怎么记忆,计算器记忆加怎么用
  19. JavaScript中的Map、Set及其遍历
  20. 快递查询单号查询,追踪轨迹

热门文章

  1. HDFView3.1.2的安装问题(闪退)
  2. EditPlus使用编辑Object C
  3. SQL Server 不允许保存更改的解决方法
  4. Q116:PBRT-V3场景描述文件.pbrt格式解析
  5. 水面船舶雷达监视-信天翁雷达监视系统
  6. swpu计算机科学学院推荐免试,西南石油大学2020届本科毕业生推荐免试硕士研究生结果公示 - 千里马招标网...
  7. STM32驱动LCD1602,哪位同学需要的,来了
  8. 从开源硬件到开放型工业控制器
  9. 概率论于数理统计(陈希孺)笔记2.3
  10. 博客园文章索引生成器