- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
所以我有一个简单的(仍然需要工作!)python/twisted 邮件服务器,它支持纯文本/TLS 邮件。我还刚刚使用 smtplib 编写了一个简单的客户端程序。
如果我使用 telnet 连接到我的服务器,将公布 ESMTP,然后在我发出 EHLO 后,将公布 STARTTLS,如下所示:
# telnet localhost 5000
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 localhost.localdomain NO UCE NO UBE NO RELAY PROBES ESMTP
ehlo me
250-localhost.localdomain Hello 127.0.0.1, nice to meet you
250 STARTTLS
到目前为止一切都很好。但是,我在网上阅读了与 smtplib 的 smtp_ssl 类相关的错误(请参阅:http://bugs.python.org/issue4066 和 Failing to send email with the Python example),因此人们建议我现在尝试过的解决方案,如下所示:
server = smtplib.SMTP('localhost', 5000) # my server is running on port 5000. Don't ask ;)
server.ehlo()
server.starttls('/opt/tesa/etc/certs/client/client.key', '/opt/tesa/etc/certs/client/client.crt')
server.set_debuglevel(1)
server.sendmail(fromaddr, toaddrs, msg)
server.quit()
这成功地发送了我的消息 - 但从它的外观来看,是通过纯文本发送的。客户端的输出看起来只看到服务器 EHLO 250 响应的第一行(“很高兴认识你”)——而没有看到 STARTTLS。因此,我假设它没有发布它自己的 STARTTLS(因为它只会在服务器发布广告时这样做?)- 因此保持为纯文本邮件?
# python smtplib_client.py
From: me@home.com
To: you@work.com
Enter message, end with ^D (Unix) or ^Z (Windows):
fsdfds
Message length is 45
**send: 'ehlo localhost.localdomain\r\n'
reply: '250 localhost.localdomain Hello 127.0.0.1, nice to meet you\r\n'
reply: retcode (250); Msg: localhost.localdomain Hello 127.0.0.1, nice to meet you
send: 'mail FROM:<me@home.com>\r\n'**
reply: '250 Sender address accepted\r\n'
reply: retcode (250); Msg: Sender address accepted
send: 'rcpt TO:<you@work.com>\r\n'
reply: '250 Recipient address accepted\r\n'
reply: retcode (250); Msg: Recipient address accepted
send: 'data\r\n'
reply: '354 Continue\r\n'
reply: retcode (354); Msg: Continue
data: (354, 'Continue')
send: 'From: me@home.com\r\nTo: you@work.com\r\n\r\nfsdfds\r\n.\r\n'
reply: '250 Delivery in progress\r\n'
reply: retcode (250); Msg: Delivery in progress
data: (250, 'Delivery in progress')
send: 'quit\r\n'
reply: '221 See you later\r\n'
reply: retcode (221); Msg: See you later
谁能帮我开灯?我好像蒙在鼓里了!
(使用 Python 2.6.6)
一如既往的感谢...
最佳答案
您声称要发送的回复:
250-localhost.localdomain Hello 127.0.0.1, nice to meet you
250 STARTTLS
和客户收到的那个
reply: '250 localhost.localdomain Hello 127.0.0.1, nice to meet you\r\n'
看起来不同:响应代码250和主机名之间没有“-”,这意味着响应只有这一行。我已经在 python 2.7 和 3.3 中检查了 smtplib.py 的代码,它只打印调试它读取的行,没有做任何修改,比如用 ' ' 替换 '-'。
这就是为什么我假设您的服务器在 telnet 示例和 smtplib 示例中的版本不同,并且在后一个示例中服务器实际上只发送调试中显示的行而不是 STARTTLS。
除此之外,如果您添加对“我已经在线阅读 smtplib 的 smtp_ssl 类中的一个错误”的引用,这将很有帮助,这样人们就可以检查这与您的问题有何关系。并请添加您正在使用的 python 版本。
关于python smtplib 没有看到服务器发布的 starttls?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26507981/
我有以下代码: import java.util.Properties; import javax.mail.Message; import javax.mail.MessagingException
我正在尝试使用 Vala 和 GLib + GIO 实现一个简单的 SMTP 服务器。 到目前为止,纯文本通信没有问题,但当涉及使用 STARTTLS 的 TLS 时,事情会变得更加困难。 这是我到目
每次有人运行 apacheant 来更新我们的实时服务器时,我都会尝试向我的团队发送电子邮件,我尝试通过 GMAIL 发送电子邮件,但是当我运行 ant upload_live -d 时,我收到以下错
我能够通过 IP 和端口连接到所需的套接字。 - (void)socket:(GCDAsyncSocket *)sender didConnectToHost:(NSString *)host por
我正在尝试为我在办公室网络上运行的小型监控脚本设置一些基本的电子邮件功能。在我的 Ubuntu 10.10 服务器上运行脚本(见下文)工作正常,但是当我在 Windows 桌面计算机上运行它时,它会在
我是 python 的新手。我已经对 python 的鸭子类型进行了一些研究,但我遇到了如下情况。 当我查看 Python 标准库时,我发现 API 仅指定参数名称,这些名称似乎提示要传递的内容但类型
最近似乎支持 SSL/TLS added通过 SecureSocket 到 Dart类,这很棒。 所以,例如这个 SecureSocket.connect(_host, _port).then(
我正在尝试使用 TLS 连接到 apacheds,但我得到了一个 LdapOperationException: PROTOCOL_ERROR:服务器将断开连接! 这是我的代码: LdapNetwor
我正在尝试使用 STARTTLS 命令发送电子邮件。我在 Gmail 中设置了一个测试帐户,并将其设置为仅接受具有 TLS 连接的入站电子邮件。 由于我不想深入的原因,我无法使用 JavaMail 或
所以我有一个简单的(仍然需要工作!)python/twisted 邮件服务器,它支持纯文本/TLS 邮件。我还刚刚使用 smtplib 编写了一个简单的客户端程序。 如果我使用 telnet 连接到我
我正在用 C++ 编写电子邮件客户端,使用 Winsock2 API 从 Gmail 帐户通过 SMTP 发送电子邮件。我没有使用任何其他第三方库。 我已经通过端口587(用于TLS)连接到Gmail
我正在尝试通过 log4j 发送错误电子邮件。通过使用以下附加程序:
这可能是一个重复的问题,但我仍然面临着这方面的问题,希望有解决方案。提前致谢。 我正在尝试通过公司的服务器发送邮件 我目前使用的是 Python 2.6 版和 Ubuntu 10.04 这是我得到的错
我正在使用我的 Gmail 帐户运行这个简单的示例,但它不起作用并出现以下错误: send failed, exception: com.sun.mail.smtp.SMTPSendFai
我正在尝试使用以下代码使用 sendmailR 包从 R 发送电子邮件,不幸的是失败了: ## Set mail contents from ', Sys.info()[4]) to ' subjec
在设置我的 session 时,我正在设置 starttls.enable 和 .required 属性,但是当连接发生时,它应该会根据文档失败: mail.smtp.starttls.enable
我正在尝试在sendmail中启动tls,但我不知道如何使用证书。请给我建议方法 > telnet localhost 25 Trying 127.0.0.1... Connected to loca
我尝试使用 STARTTLS 通过 php 和 swiftmailer 发送电子邮件,但收到证书错误。我拥有 SMTP 服务器的 root 访问权限,并且使用的证书是自签名的。我在两台机器上都使用 D
我尝试通过 postfix 通过 gmail 发送电子邮件,但它显示以下错误: 必须首先发出 STARTTLS 命令。 Sep 6 01:11:34 NovusTec postfix/smtp[10
我想实现 STARTTLS在 iOS 应用程序中,但我无法从文档中弄清楚如何去做。 到目前为止我有: 我使用 CFStreamCreatePairWithSocketToHost 创建套接字并打开流:
我是一名优秀的程序员,十分优秀!