无需smtp服务器直接发送邮件
2011-01-20

 

    以前发邮件都是连接smtp服务器然后再发送的。比如先用自己的gmail账号连接到smtp.gmail.com,认证之后再发送邮件。但是这种方式常常会有限制,发送速度慢不说,每日发送数量还有限制。

    后来一直在想邮件服务器之间是怎么发送的呢,如果可以直接连接对方mail服务器就好了。 经过很多尝试都不行,现在知道是因为各个邮件服务器都有反垃圾邮件机制,所以要做很多预备工作才可以。

    下面我以 longbill@php.js.cn 为发送者发送邮件为例,讲讲这种直接连对方服务器发送邮件的方式。

    首先需要设置 php.js.cn 域名的 txt 记录为:v=spf1 ip4:173.230.145.228 ~all 。意思是增加一个spf记录,允许173.230.145.228ip发送邮件。邮件服务器收到邮件的时候会检查这个。

    然后设置 php.js.cn 的 MX记录为 173.230.145.228 。这点按理说是不需要的,但是我觉得还是加上比较好。 意思是别人发送邮件到 xxx@php.js.cn 的时候,会被连接到这个IP。     

    然后就可以用php直接发送邮件了。 php要做的事情如下:

  • 拿到对方email后,首先检查域名的mx记录。例如 longbill.cn@gmail.com ,要用getmxrr函数得到gmail.com的mx记录,一般取第一条就可以了。
  • 用fsockopen连接刚刚得到的服务器域名
  • 按照SMTP协议写命令,取得返回结果。

    看起来像这样: 绿色的是服务器返回的信息,红色的是php发送的信息。每个换行都是\r\n

 

220 126.com Anti-spam GT for Coremail System (126com[20101010])

HELO php.js.cn

250 OK

MAIL FROM:<longbill@php.js.cn>

250 Mail OK

RCPT TO:<lclgg@126.com>

250 Mail OK

DATA

354 End data with <CR><LF>.<CR><LF>

MIME-Version: 1.0

Delivered-To: lclgg@126.com

Subject: =?UTF-8?B?6L+Z6YeM5piv5rWL6K+V6YKu5Lu25qCH6aKY?=

From: Longbill <longbill@php.js.cn>

To:  lclgg@126.com

Content-Type: text/plain; charset=UTF-8

Content-Transfer-Encoding: base64


6L+Z6YeM5piv5rWL6K+V6YKu5Lu25YaF5a6544CC

.

250 Mail OK queued as mx9,J8mowLDb7+xoCDdNCIe9AA--.240S2 1295452266

QUIT

221 Bye


就是这样。  源代码在这里。 http://php.js.cn/down/sample/mail.php.txt

完。

15997 read 17 comment(s)
入手kindle3一月后有感
2011-01-04

    我的kindle3是美国的朋友帮我代购的,在amazon买了之后邮寄到美国朋友那,然后他再转寄给我。邮费用了$36。我的kindle3是带3G版本的,amazon原价$189。全球免费3G,感觉挺爽的。

    我为什么买kindle?

    有人可能觉得有电脑可以看电子书,实在不行手机上也可以看。但是我发现我在电脑前面的时候会被无数的东西吸引,根本无法集中精力看书。手机上也一样。 但是纸质书又太麻烦了,所以还是kindle最好。   但是我犯了一个错误,我不应该买带3G的,因为很少用它上网,一般下电子书wifi就可以了。

    Kindle有哪些优点?

  • E-ink电子墨水屏幕,省电,和纸质书看起来差不多,不翻页的时候保持显示内容且不用电。
  • 屏幕黑白色,不能彩色的图片和视频。
  • 屏幕翻页需要1秒左右,因此上网很不爽。
  • 对中文支持良好。
  • 下载书的时候发送书籍到一个Email,然后打开kindle的wifi就可以自动下载了。很方便。
  • 白色的,很漂亮。
  • 左右手拿着都可以很容易的翻书。
  • 未来可能可以拿来当3G猫用。
  • 可以播放音乐,有耳机插口。
  • 不开无线电池可以用非常久。。。

    总结下,核心优点就是它除了拿来看书,其他什么都不能。这点很重要,正是这点保证了我可以专心的看书,而不会跑去微博或者人人逛下。

    一些问题

  • Q:kindle有背光吗? A:No
  • Q:kindle可以上网吗? A:可以,但是很难用,如果你想拿来上网,去买个ipad吧
  • Q:kindle支持什么格式的电子书? A:pdf, txt, doc都没问题,其他格式貌似都需要转。我到目前为止,只看过pdf和txt

完。

11888 read 8 comment(s)
我做的同步显示iTunes当前歌曲歌词的widget
2010-12-07

    有新版本了。看这里

 

    以前在Leopard下有著名的小芊,但是升级到Snow Leopard后,小芊就不好用了。于是自己手动写了个用于Dashboard的Widget。 放歌的时候如果想看歌词,触发Dashboard就可以了。 

    原理大概是这样的:

  • 获得当前歌曲播放时间:取自自带iTunes widget的插件。这个插件获得当前播放时间很快。
  • 获得当前歌曲标题等:用Applescript写的。
  • 自动搜索歌词:php去取百度的搜索结果,然后分析网页源代码,匹配歌词信息(歌词文件显示在网页里面也可以识别)
  • 保存歌词:保存到mp3文件的同样位置,后缀名为lrc。
  • 各种技术之间的整合:Javascript
  • 歌词动态显示效果:CSS3

    用法:添加此widget,开启iTunes听歌就可以了。如果发现歌词不对,按右下角的刷新按钮,自动找另外一个歌词文件。

    下载在这里

完。

10359 read 12 comment(s)
我做的Google Tasks Widget for Mac OS
2010-11-29

    一直在找可以同步的Task或者Todo List,后来想到Google本来就有嘛,于是自己写了个Widget放在Dashboard里面,很方便。而起可以在公司电脑和自己电脑上登录同一个帐号而实现同步。

    其实实现挺简单的,一张网页,嵌一个iframe就可以了。自动同步是iframe里面的Google的网页做的事情了。 

    点击这里下载Google Tasks Widget For Mac OS

完。

8891 read 11 comment(s)
最近搞了个图片站:人人美图网
2010-11-24

    最近搞了一个美女图片网站,网站数据抓自互联网。 主要打算做人人这个平台,所以取了个名字叫“人人美图” 。 网站的目标用户是广大宅男们。 现在的服务器在美国,可能图片访问速度有点慢,以后会逐步转移到yupoo上来。

    来张图养养眼。

    欢迎大家提点意见。

完。

17825 read 33 comment(s)
上一页 1... 3 4 5 [6] 7 8 9 ...35 下一页
Copyright © Longbill 2008-2017 , Designed by EndTo , Powered by EndCMS