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()

 

 

 

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。