续上次的ReviewBoard邮件通知的问题,这个问题前一段时间一直没有解决掉。主要是没有新的想法了。
今天,跑到办公室突然想到,如果公司的邮件服务器禁止了伪装发件人的功能,那么,免费邮箱没有禁止伪装发件人功能,是不是就可以解决这个问题了。应该是可以的。据我所知,Gmail就可以做到。
不过,也不能高兴的太早,ReviewBoard的服务器可是在内网,而且无法访问外网。这个难不倒我,在可以访问外网的电脑上装一个squid代理出去。
设想是美好的。不过,现在还是有点问题。可能还是网络方面的原因,ReviewBoard给我报了一个WSAHOST_NOT_FOUND的错误。
C:\Documents and Settings\Administrator>python
Python 2.5 (r25:51908, Sep 19 2006, 09:52:17) [MSC v.1310 32 bit (Intel)] on win
32
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import socket
>>> s = socket.socket(2,0)
>>> s.connect((“localhost”, 80))
>>> s.connect((“smtp.gmail.com”, 465))
Traceback (most recent call last):
File “<stdin>”, line 1, in <module>
File “<string>”, line 1, in connect
socket.gaierror: (11001, ‘getaddrinfo failed’)
>>>
副产品:
在跟踪这个问题的过程中,我尝试地一下修改了一下Python的Lib目录下的py源文件。发现改完以后,pyc文件马上就变化了。这算是一个重大发现了。其实,以前也想过,既然有源代码文件,那么,应该是可以修改的。不过,一直被以前的习惯所牵绊,认为修改源码以后应该要编译一下。和C# dll形式的发布不一样,和PHP脚本形式的发布也不一样,似乎介于两者之间。
基于这个发现,其实,我也可以修改Reviewboard的源代码,修正这个邮件不通知的错误。