让bugzilla(2.20.1版本)使用第三方SMTP发邮件

Posted by 猪头小队长 | 程序设计 | Thursday 30 March 2006 09:52

Update:新增加让bugzilla(2.22.2版本)使用第三方SMTP发邮件 (2007-03-08)

前两天安装了最新的Bugzilla2.20.1,自身已经支持使用SMTP发送邮件,不再死靠着sendmail了,但是只支持非授权方式的SMTP,:(

参考2.18 版本的方法,终于搞定了2.20版本的授权方式的SMTP发送。

具体做法:
1.安装好bugzilla(具体如何安装,见其他相关文档)
2.修改$Bugzilla_DIR/defparams.pl,在@param_list中加入:

{
    name => 'mailserver',
    desc => 'Mail-Server',
    type => 't',
    default => 'mx.hit.edu.cn'
},
{
    name => 'mailuser',
    desc => 'Mail-User',
    type => 't',
    default => 'hdpan@hit.edu.cn'
},
{
    name => 'mailpass',
    desc => 'Mail-Pass',
    type => 't',
    default => 'xxxxxx'
}, 

注:修改后,删除$Bugzilla_DIR/data/下面的东西,重新运行$Bugzilla_DIR/checksetup.pl ,参数才可以生效。

3.修改$Bugzilla_DIR/Bugzilla/BugMail.pm,增加新的方法:

需要在文件头部加入引用:

use MIME::Base64;

sub MessageToMTA_NEW ($;$)
{
   my ($msg,$rcpt_to) = @_;

   use Net::SMTP;
   my $smtp_server = Param("mailserver");
   my $smtp_user = Param("mailuser");
   my $smtp_pass = Param("mailpass");

   my $encode_smtpuser = trim(encode_base64($smtp_user));
   my $encode_smtppass = trim(encode_base64($smtp_pass));

   my $smtp = Net::SMTP->new($smtp_server,Timeout => 60) ||
   die 'Cannot connect to smtp server';

   my $result = $smtp->command('AUTH','LOGIN');
   my $answer = $smtp->getline();
   # 334 VXNlcm5hbWU6

   $result = $smtp->command($encode_smtpuser);
   $answer = $smtp->getline();
   # 334 UGFzc3dvcmQ6
  
   $result = $smtp->command($encode_smtppass);
   $answer = $smtp->getline();
   # 235 Authentication successful 
   # or 535 Authentication failed
   if ($answer =~ /535/i)
   {print "Soryy,Authentication failed!n";exit;}

   $smtp->mail($smtp_user);
   $smtp->to($rcpt_to);
   $smtp->data();
   $smtp->datasend($msg);
   $smtp->dataend();
   $smtp->quit;
}

4.修改$Bugzilla_DIR/Bugzilla/BugMail.pm,使用新方法发邮件:

#MessageToMTA($msg);
MessageToMTA_NEW($msg, $user->email);

 

5.OVER。

Update:
对$encode_smtpuser和$encode_smtppass增加了trim操作,发现encode_base64()有时候会在字符串结尾加了个空格。– 2006-04-28 11:30

Update:对这个错误:undef error - Goto undefined subroutine &main::encode_base64 at Bugzilla/BugMail.pm line …
改正办法是:将use MIME::Base64;放到后面定义,例如:

use strict;

package Bugzilla::BugMail;

use base qw(Exporter);
@Bugzilla::BugMail::EXPORT = qw(
    PerformSubsts
);

use Bugzilla::Constants;
use Bugzilla::Config qw(:DEFAULT $datadir);
use Bugzilla::Util;
use Bugzilla::User;

use Mail::Mailer;
use Mail::Header;
use MIME::Base64;

– 2006-05-30 16:30

[@more@]

相当郁闷

Posted by smily | 简单生活 | Wednesday 29 March 2006 15:16

我就是没事找事给自己找麻烦,今后无论做什么事情,都要想好,如果想不好,不确定,犹豫,干脆就不要做!免得麻烦。

[@more@]

丑陋的Foxmail新邮件提示栏

Posted by 猪头小队长 | 胡言乱语 | Wednesday 29 March 2006 15:00

有了Gmail Notifier之后,觉得Foxmail的新邮件提示栏甚是丑陋:占据了一块屏幕空间,如同一块膏药。所以我通常是隐藏之,想看看有没有新邮件的时候,就弹开Foxmail窗口看看。

而通过更换托盘图标的方式来提示新邮件,是一个新意,即不多占屏幕空间,也达到了提示新邮件的目的。

有的时候一件事情实现起来极其easy!但是想到这个点子的路确是充满艰辛的。所以要锻炼看到任何不太爽的东西,想想有什么可以改进的呢?尤其是对大家已经熟视无睹司空见惯的东西,如果能有所改良,效果应该会更佳。

创意啊创意啊!

想不到的话,还可以学嘛!Foxmail已经到了6.0beta2。这个新邮件提示栏还是没有变化。倒是整出来两个比较恶心的界面风格。

[@more@]

好玩

Posted by smily | 简单生活 | Tuesday 28 March 2006 16:15

以下是今天和田亮的聊天记录,很好玩,分享一下:

田亮 说 (16:09):
小学语文太难 
 
一道题目要求把以下四句话用关联词连接:
1、张海迪姐姐瘫痪 ;
2、张海迪姐姐顽强地学习;
3、张海迪姐姐学会 多门外语;
4、张海迪姐姐学会 针灸。

smily 保护眼睛,拒绝电视 说 (16:09):
呵呵
smily 保护眼睛,拒绝电视 说 (16:10):
恩,是有难度
田亮 说 (16:10):
你造个句
smily 保护眼睛,拒绝电视 说 (16:10):
张海迪姐姐虽然瘫痪了,可是她顽强地学习,不但学会了多门外语,还学会了针灸
田亮 说 (16:11):
是的。
田亮 说 (16:11):
正确答案应该是:"张海迪姐姐虽然瘫痪了 ,但顽强地学习,不仅学会了多门外语,而且还学会了针灸。
结果有一个孩子写:虽然张海迪姐姐顽强地学会 针灸和多门外语,可她还是瘫痪。
又发现一个更猛的孩子写道:张海迪姐姐不但学会了外语,还学会了针灸,她那么顽强地学习,终于瘫痪了!

[@more@]

升级到了bugzilla2.20.1

Posted by 猪头小队长 | 程序设计 | Tuesday 28 March 2006 15:59

原来装的bugzilla2.18坏掉了,既然要重装,就装了最新的bugzilla2.20.1,数据库结构没有变化,直接把原来的mysql表拷贝过来就可以用。

碰到的问题是,邮件的问题,本身支持了其他smtp服务器来发送邮件,但是还不支持需要授权的smtp。这点比较郁闷。自己搭个smtp倒也方便,但是许多的变态了mail服务不信任此smtp,结果也是收不到邮件。有机会再试试其他的途径。

这个版本汉化作的相当不错,感谢刘迎明,用了他的css,界面也漂亮了好多。下面的这个大bug相当喜欢:哈哈

[@more@]

周末聚会

Posted by smily | 简单生活 | Monday 27 March 2006 12:57

上周经过辛苦的筹划,终于搞定了研究生同学聚会的事宜。由于周日早上的天气较差,我们决定去钱柜唱歌(最俗的一项活动),一共八个人,四男四女。唱歌的过程是无聊的,因为大家的目的并不是唱歌,所以平平淡淡的过了4个小时(太浪费了),晚上5点我们研究晚饭的问题,最后大家一致决定去家乐福买吃火锅的一系列东东,然后去郑仲夫妇家里吃火锅,八个人兴高采烈,像群孩子。一切搞定,我们到了郑仲家里,我和小薇,还有郑仲的老婆一起洗菜,收拾。郑仲负责打下手。剩余四人在房间里打牌。终于,我们可以开始吃了,边吃边聊,不过,不是谈理想,谈人生…而是谈结婚,房子,车子..唉,大家都可不救药的成为大人了。
ps:
1.小薇变得很瘦,身体状况很差,本来以为去大庆的研究所是为了轻松的生活,结果,竟然弄得压力奇大,把身体都搞垮了。身体最重要,即使胖点,嘻嘻。祝小薇身体早日康复!
2.郑仲家里很温馨,弄了很多卡通的小玩具,连靠枕都是卡通的猪和驴,可见这两个人还像小孩子一样:)

3.贾志平还是那么善谈

4.老高还是那么帅

5.我的眼睛,虽然经过周末的休息,今天还是难受:(

另外,这个月没有钱了,要节省了!

[@more@]

可怜我的眼睛

Posted by smily | 简单生活 | Thursday 23 March 2006 16:04

眼睛累得要命,哪怕只是连续看10分钟屏幕,眼睛都干涩疲惫,唉,回家之后再不看屏幕了,发誓![@more@]

“久品香”的饺子不错

Posted by 猪头小队长 | 简单生活 | Thursday 23 March 2006 11:39

去年大约是夏天的时候,去找pp玩,吃了一次久品香的饺子,饺子个儿大,馅儿大,有成都小吃的小笼包那么大的个儿。非常好吃。

后来那个地方拆了,直到前几天坐机场大巴的时候,看到双安商场旁边有一个久品香。

徐勇要回南京了,昨天和pp、徐勇一起,到久品香吃了一把,味道还是不错,尤其是猪肉酸菜馅的。好吃!:)

一般一个人吃2两(大约12个吧)就差不多了。

[@more@]

还是累

Posted by smily | 简单生活 | Wednesday 22 March 2006 15:24

做一件事情为啥就这么难呢?一项工作,需要多人多个部门协调,我就觉得特别的累。也许是我太嫩了,对于很多事情还不能心平气和,还不能处理的游刃有余,还不能做到坐怀不乱,我需要学习,不知道什么时候能学会,像我这种急性子,真是不适合做优先级高的项目,慢慢学吧…

买了两个茶叶盒,每天坚持喝,向目标进军!呵呵

[@more@]

公司搬家了

Posted by 猪头小队长 | 简单生活 | Tuesday 21 March 2006 19:29

搬到了新的办公环境,环境比原来好多了,现在看起来后有些乱,不过松快多了,呵呵。

上班需要1个小时的时间,不能睡懒觉了,:(

我的办公桌:

[@more@]

Next Page »