banner
ximalaya

ximalaya

这里是openkava 的blog,关注程序开发的一切技术。 ZZ 表示转载的文章,如涉及版权,请和我联系删除。 在这里你可以看到关于以下技术的文章: 移动开发技术,ANDROID ,IOS,WINDOWS PHONE平台开发,企业ERP开发,动态脚本PYTHON ,OPENGL ES 3D技术,游戏开发技术,HTML5 ,JAVASCRIPT ,MYSQL,AMAZON EC2 ,GOOGLE GAE ,GOOGLE CLOUD SQL 等 。 本站发展历程: 2010年,正式把所有的blog移到这里,租用godaddy的空间,记录生活和工作上的一些心得。 下面是关于我的个人介绍,写在这里权当凑字数啦。 职业:软件开发,开发经验6年,管理经验3年; 工作上使用的技术:C#, SQL SERVER 个人使用的技术:PYTHON,PHP, CSS, JAVA ,ANDROID ,object-c 等等 联系我请发邮件:<a href="http://blog.openkava.com/openkava@gmail.png"><img class="alignnone size-full wp-image-96" title="邮箱" src="http://blog.openkava.com/openkava@gmail.png" alt="" width="174" height="24" /></a>

python 发送邮件

1 python 有个模块 smtpd ,用来作为 smtp 服务器,可以自己实现邮件服务器 smtp 功能。

这个模块有 4 个 class:

smtpd.SMTPServer : 需要实现 process_message 函数,可以自己定义处理消息的内容,再发送给相应的其他邮件服务器,不过在 windows 下实验,实际没有发送邮件,只是个空 smtp 服务器。

smtpd.PureProxy:作为纯代理转发 ,可以发送。用 wireshark 可见实际发送数据给外部 mx 。

smtpd.MailmanProxy: mailman 的代理转发

smtpd.DebuggingServer: 主要做调试用。

2 smtp 用来作为客户端发送邮件,和 foxmail 等功能类似。

一般免费 smtp 都需要验证才能发送,也不支持 relay(转发) .

所以只能自己投递给邮件地址的 mx 服务器。

使用 nslookup   ,设置 set type=mx , 可以查询到 mx 服务器

这时候的 mx 服务器是不需要验证的。如下代码只能发送给后缀是 qq.com

的邮箱 。不过也有发送份数限制。如果通过代理服务器绕过 ip 验证,理论上应该可以无限发送邮件。

代码:

import smtpd
import asyncore

print 'proxy start at 25 ...'

server = smtpd.PureProxy(('127.0.0.1', 25), ('mx1.qq.com', 25))
asyncore.loop()

 

 

 

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。