sendmail的aliases能做到mysql資料庫里嗎?

←手機掃碼閱讀     火星人 @ 2014-03-04 , reply:0

sendmail的aliases能做到mysql資料庫里嗎?

請教一個問題:
     現在郵件伺服器的用戶都用mysql資料庫管理,用的sendmail+mimedefang,現在想把郵件群組也放到mysql資料庫中管理,google了一下,沒找到什麼答案,不知道CUer做過此類配置或者有什麼關於這個問題的線索,指點一下,多謝!
《解決方案》

這東西你用 mimedefang 解即可

只是個範例,隨手寫而以, 你自己參考看看


foreach my $recip (@Recipients) {
   $recip=~/<(\S)@(\S)>$/;
   my ($localpart,$domainpart)=($1,$2);
   next if (! ismydomain($domainpart));   # 不是自己的域名不做 expand 解釋
   next if ( !ismyaliases($localpart));        # 不在 mysql aliases 中
   delete_recipient($recip) if (is_local_user($localpart) && ismyaliases($localpart) ); # 如果 aliases 同 user 帳號,則 user 帳號會不在收件人之列
   foreach my $element (expand($localpart)) {
          add_recipient($element);
   }
}


sub ismydomain($)
{
my $domain;
# 讀取 local-host-names 判斷,或以 $local-host-names 變數判斷
open(LHN,"< /etc/mail/local-host-names");
$lhn=<LHN>;
$local_host_names=join('',@lhn);
if ($domain=~/$local_host_names/i) {    # 本機的 user/aliases
    return 1;
} else {
    return 0;
}
}

$alasies="all rd fae services "  #aliases 列表,可程式自動生成,這裡只是舉例故用變數代表
sub ismyaliases($)
{
my $user;
($user=~/$aliases/i)  ? return 1:return 0;
}

sub expand($)
{
my $exp;
# DBI select DB ...
$sth = $dbh->prepare("select user from aliases where aliases_name='$exp'");
$sth->execute;
$rows = $sth->rows;
return $exp if ($rows==0);
return (@expand_list); # 自己處理一下 mysql select 結果
}

《解決方案》

自己頂一下:wink: :wink:
《解決方案》

原帖由 abel 於 2008-12-3 10:47 發表 http://bbs.chinaunix.net/images/common/back.gif
這東西你用 mimedefang 解即可

只是個範例,隨手寫而以, 你自己參考看看


foreach my $recip (@Recipients) {
   $recip=~/$/;
   my ($localpart,$domainpart)=($1,$2);
   next if (! ismydomain($ ...

abel對sendmail研究很深呀,踩個腳印,或許以後用的著:mrgreen: :mrgreen:
《解決方案》

原帖由 abel 於 2008-12-1 20:28 發表 http://bbs.chinaunix.net/images/common/back.gif
這東西你用 mimedefang 解即可

只是個範例,隨手寫而以, 你自己參考看看


foreach my $recip (@Recipients) {
   $recip=~/$/;
   my ($localpart,$domainpart)=($1,$2);
   next if (! ismydomain($ ...

abel兄,一語驚醒夢中人啊,太感謝了,我怎麼就沒有想到用mimedefang呢?太妙了!

再次感謝,我好好研究一下~




[火星人 ] sendmail的aliases能做到mysql資料庫里嗎?已經有372次圍觀

http://coctec.com/docs/service/show-post-25800.html