玩玩 Telnet 收发邮件

刚拿到公司分配的一个邮箱帐号,因为没有用邮件客户端收发邮件的习惯,所以就用TELNET来简单地测试了一下收发邮件。

收邮件

> telnet mail.aiya.com.cn 110
+OK Hello there.
user justfortest@aiya.com.cn # 用户名
+OK Password required.
pass hilyjiang # 密码
+OK logged in.
list # 查看邮件列表
+OK POP3 clients that break here, they violate STD53.
1 3352
2 730
.
retr 1 # 读取ID为1的邮件
<此处省略邮件内容>
dele 1 # 删除ID为1的邮件
+OK Deleted.
quit # 退出
+OK Bye-bye.

发邮件

> telnet mail.aiya.com.cn 25
220 app.aiya.com.cn ESMTP Postfix
helo aiya.com.cn # 指定hostname
250 app.aiya.com.cn
auth login # 登录
334 VXNlcm5hbWU6 # 这个输出是username经过base64编码过的字符串
anVzdGZvcnRlc3RAYWl5YS5jb20uY24=# 用户名,要用base64编码过的
334 UGFzc3dvcmQ6 # 这个输出是password经过base64编码过的字符串
aGlseWppYW5n # 密码,也要用base64编码过的
235 Authentication successful
mail from:<justfortest@aiya.com.cn> # 发件人
250 Ok
rcpt to:<hilyjiang@xxxx.com> # 收件人
250 Ok
data # 邮件数据,可以输入subject:xxx 将自动解析为标题,邮件以回车,.,再回车结束
354 End data with <CR><LF>.<CR><LF>
subject: send email from telnet.
The content of the email.
.
250 Ok: queued as D5BCA2A0341
quit # 退出
221 Bye

这样邮件就发送出去了,简单吧 🙂

— EOF —

把 YUI Compressor 加入你的右键菜单

工作中经常要对写好的JS文件进行压缩,每次都调用命令行总会有些不方便。
因此俺今天就把这个功能整合到右键菜单中。

准备

压缩 JS 使用的是 YUI Compressor,需要 Java 运行环境支持,因此需要先安装 Java 运行环境。
下载 YUI Compressor:
http://yuilibrary.com/downloads/download.php?file=2a526a9aedfe2affceed1e1c3f9c0579
下载后解压,把 yuicompressor-2.4.2.jar 移动到某个目录,如:E:\soft\yuicompressor-2.4.2.jar。

运行以下命令测试 YUI Compressor 是否正常,正常应输出如下:

C:\> java -jar E:\soft\yuicompressor-2.4.2.jar

Usage: java -jar yuicompressor-x.y.z.jar [options] [input file]

Global Options
-h, –help Displays this information
–type Specifies the type of the input file
–charset Read the input file using
–line-break
Insert a line break after the specified column number
-v, –verbose Display informational messages and warnings
-o Place the output into . Defaults to stdout.

JavaScript Options
–nomunge Minify only, do not obfuscate
–preserve-semi Preserve all semicolons
–disable-optimizations Disable all micro optimizations

If no input file is specified, it defaults to stdin. In this case, the ‘type’ option is required. Otherwise, the ‘type’ option is required only if the input file extension is neither ‘js’ nor ‘css’.

添加到右键菜单

通过修改注册表,在右键菜单上添加 “Compress JS using YUI Compressor” 菜单项,如。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell]

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\Compress JS using YUI Compressor]

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\Compress JS using YUI Compressor\command]
@=”java -jar E:\\soft\\yuicompressor-2.4.2.jar –charset UTF-8 \”%1\” -o \”%1\””

把以上内容复制下来,将 yuicompress-2.4.2.jar 的路径改为你的存放路径,保存为 .reg 文件后双击该文件,即可将这些项目导入注册表。

导入完成后,在任意一个文件或文件夹上点击右键,就可以看到我们添加的 “Compress JS using YUI Compressor” 菜单项了。

— EOF —

从NOKIA诺基亚PC套件备份文件.nbu中恢复通讯录

前段时间从淘宝上弄了台NOKIA,因为质量问题退货了。
当时把通讯录都整理在那台NOKIA上,并且用诺基亚PC套件做了备份。
现在没有NOKIA的机器,无法直接用诺基亚PC套件直接浏览备份文件中的通讯录,因此只能自己从备份文件中还原出通讯录。
估计不少人会有这个需要,今天自个碰上这种问题,顺便写个个简单的还原工具来提取通讯录。

工具地址:
http://hily.me/tools/blog/vcards_from_nokia_pc_suite_backup.php

有一款工具叫 Noki,也可以从.nbu中恢复,不过我试用了下,好像中文会出现很多乱码。

所以大家如果也发现乱码的话,不烦试试我的工具。

— EOF —

SVN 的锁定与解锁

一直习惯于单枪匹马作战,因此使用 SVN 做版本控制时,就没有协同开发的概念,自然就用不到 SVN 的锁机制了。

现在在公司上班就不一样了,几个人做同一个项目,代码就有可能被被人修改。

这个项目初期就告诉他们,为了操作的简易性,项目成员修改一个文件时,不需要锁定文件。但是前提条件是,每个人负责一个独立的模块。

一直都很正常,直到昨天晚上,一个同事修改了我的模块的内容,并提交了……

我 UPDATE 代码后,发现我的代码被 SVN 太过“聪明”地覆盖了,导致昨天写的许多代码段被覆盖,大杯具也 T_T

自此,我就要求项目成员把自己负责的模块下的所有文件加锁,其他任何人需要修改你的模块代码前,得先通知你,再强制锁定相应的模块。

当然,如果文件太多,或者一个文件经常需要由好几个人修改,你可能不希望将所有文件回锁,那么可以要求项目成员在修改这些模块之前加锁,防止其它成员同时修改并提交修改。

提交的时候,如果想要继续维持锁状态,要勾选上“保持锁定/keep lock(s)”的选项,否则提交后会自动释放锁。

如果你的工作目录丢失,重新 check out 之后你可能会发现,锁定者是自己但是无法获取锁,这时你需要使用“强制获取锁/steal lock(s)”来获取锁。

如果一个文件被别人锁定,而你一定要修改这个文件,那么先通知锁定人,再“强制获取锁/steal lock(s)”。

— EOF —

给 Zend 6 装上 SVN 插件 Subclipse

既然用了 IDE,就希望直接在 IDE 中集成版本控制管理功能,因此今天我在 Zend 6 下安装了 SVN 插件——Subclipse。

安装步骤:

1. 打开 Zend,”帮助”-“软件更新”-“查找并安装”-“搜索要安装的新功能部件”-“下一步”

2. 新建远程站点:
名称: Subclipse 1.6.x (Eclipse 3.2+)
URL: http://subclipse.tigris.org/update_1.6.x
点击”完成”
3. 如果出现以下错误提示:

Subclipse Integration for Mylyn 3.x (Optional)(3.0.0)需要 插件“org.eclipse.mylyn.tasks.core(3.0.0)”或者兼容项。

把以下项目前的勾去掉就可以了:

Subclipse Integration for Mylyn 3.x (Optional)(3.0.0)

4. 继续完成安装,如果提示安装未签名的部件,接受安装即可。
5. 安装完成后重启 Zend,”窗口”-“首选项”-“小组”-“SVN”,做出必要设置
6. “窗口”-“打开透视图”-“SVN资源库研究”,右键”新建资源库位置”,填入相关信息后可以在该透视图中浏览版本库信息
7. 选定资源后,右键”检出为”,将代码从 SVN 服务器检出,”作为工作空间中的项目检出”
8. 检出成功后,”窗口”-“打开透视图”-“PHP”,回到默认的 PHP 透视图,这时文件夹和文件的图标就带有版本标识了
9. 在文件/文件夹上点右键,在”小组”菜单组中就可以进行 SVN 操作了 🙂

— EOF —