今天在用commit-email.pl来做svn的更新邮件通知时出现了个问题:

Can't call method "mail" on an undefined value at ./commit-email.pl line 607.

后来发现是因为commit-email.pl中的667行

原来为:#$smtp_server = “127.0.0.1”;

改为:#$smtp_server = ”xxxx.xxxx.com“;

导致了以上的结错误结果。

但是我的需求是不用本的的$smtp_server="127.0.0.1"来做通知的邮件代理的,经测试可以将

#$smtp_server = “127.0.0.1”; 注释掉,启用上一行

$sendmail = "/usr/sbin/sendmail";

就OK了,也不用设置邮件代理的问题,因为已经:post-commit中指定的发件者和接收者。

这个因为还有待考察。


还有一个小问题$smtp_server和$send_mail同时启用是用报错。所在只要启一个就可。