月別アーカイブ: 2015年6月

***error: There is no valid email in the directories at /usr/local/bouncehammer/bin/mailboxparser line 174 error対策

処理するメールがないと下記エラーがでます

***error: There is no valid email in the directories at /usr/local/bouncehammer/bin/mailboxparser line 174

これを避けるまめに、フォルダー内にデータがある時だけ、
(新規メールが届いている時だけ)
処理を行うようにする

if ls  /フォルダーのバス/*.* > /dev/null 2>&1
  then
   :  フォルダーにデータがある場合に処理する
fi

機能を追加する

vi /usr/local/autobonuc.sh

#!/bin/sh
 if ls  /home/user0xxx/Maildir/new/*.* > /dev/null 2>&1
  then
/usr/local/bouncehammer/bin/mailboxparser -g --log /home/user031/Maildir/new --remove
/usr/local/bouncehammer/bin/logger -c --remove

for f in /usr/local/bouncehammer/var/log/*.log
do
  /usr/local/bouncehammer/bin/databasectl --update $f
done

fi

ConoHa BounceHammer メールの自動登録

Cronで、BounceHammerへメールの自動登録を行う

vi /usr/local/autobonuc.sh
#!/bin/sh
/usr/local/bouncehammer/bin/mailboxparser -g --log /home/user0xxx/Maildir/new --remove
/usr/local/bouncehammer/bin/logger -c --remove

for f in /usr/local/bouncehammer/var/log/*.log
do
  /usr/local/bouncehammer/bin/databasectl --update $f
done

:wq
chmod +x /usr/local/autobonuc.sh

crontab -l

crontab -e
MAILTO="xxxx@gmail.com"
*/2 * * * * /usr/local/autobonuc.sh

処理するメールがない場合のエラー対策 →

ConoHa BounceHammer 内部のメールを複写登録

2重登録を避けるため、メールを2重化し、登録

user01@xxxxx.com
転送先
user011@xxxxx.com

アカウント作成
useradd user01
passwd user01
xxxxxx
xxxxxx

useradd user011
passwd user011
xxxxxx
xxxxxx

aliasesにて自動転送
user01@xxxxx.com
に送信し
user011@xxxxx.com
へ、自動転送(user01@xxxxx.comにもデータを残す)

vi /etc/aliases
user01:user011,user01

postalias /etc/aliases
newaliases

aliasを有効化

user01@xxxxx.com
へメールを送信

ls /home/user011/Maildir/new
で、転送確認

user01@xxxxx.com
から、未到達メールを送信

/usr/local/bouncehammer/bin/mailboxparser -g --log /home/user011/Maildir/new --remove
/usr/local/bouncehammer/bin/logger -c --remove

for f in /usr/local/bouncehammer/var/log/*.log
do
  /usr/local/bouncehammer/bin/databasectl --update $f
done

bouncehammerへ登録

http://xxxxxx/admin/mail/bouncehammer.cgi
で、追加されたことを、確認

外部のメールサーバの内容の登録 →

ConoHa BounceHammer 内部のメールを登録

BounceHammerに、同じサーバにある内容を登録

/usr/local/bouncehammer/bin/mailboxparser -g --log /home/{user}/Maildir/cur
/usr/local/bouncehammer/bin/logger -c --remove

for f in /usr/local/bouncehammer/var/log/*.log
do
  /usr/local/bouncehammer/bin/databasectl --update $f
done

/home/{user}/Maildir/new
は、新規
/home/{user}/Maildir/cur
は、既読
ただし、メーラを立ち上げるとnewは消えてしまう

外部のメールサーバの内容の登録 →
メールBOXを2重化し、一方をBounceHammer登録用とする →

ConoHa BounceHammer メールの登録

外部のメールサーバの内容をBounceHammerに登録

yum install fetchmail procmail
vi ~/.fetchmailrc

set no bouncemail
defaults
 uidl
 no mimedecode
 keep
 mda /usr/bin/procmail

poll smpt.xxx1.com
 protocol imap
 user xxx1
 password pppp
 smtphost localhost

poll smpt.xxx2.com
 user xxx2
 password pppp
 smtphost localhost

vi ~/.procmailrc
MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR/
LOCKFILE=$HOME/procmail.lock
$LOGFILE=$HOME/procmail.log

fetchmail --ssl

/usr/local/bouncehammer/bin/mailboxparser -g --log /root/new
/usr/local/bouncehammer/bin/logger -c --remove

for f in /usr/local/bouncehammer/var/log/*.log
do
  /usr/local/bouncehammer/bin/databasectl --update $f
done

内部のメールサーバの内容の登録 →

ConoHa BounceHammer

ConoHaにBounceHammerを
インストール


# yum install -y perl-core gcc
# cd /usr/local/bin
# wget -O- 'http://cpanmin.us/' > ./cpanm
# chmod +x ./cpanm
# cd /usr/local/src
# wget http://dist.bouncehammer.jp/bouncehammer-2.7.12.tar.gz
# tar xfz bouncehammer-2.7.12.tar.gz
# export PERL5LIB=/usr/local/bouncehammer/lib/perl5
# mkdir -p /usr/local/bouncehammer
# cd bouncehammer-2.7.12
# perl ./Modules.PL missing | cut -d' ' -f4 | cpanm -l /usr/local/bouncehammer
# perl ./Modules.PL missing
# perl ./Modules.PL check
# cpanm -l /usr/local/bouncehammer/ Compress::Zlib
# perl ./Modules.PL check
# ./configure --with-perl-extlib=/usr/local/bouncehammer/lib/perl5
# make
# make test
# make install
# cp /usr/local/bouncehammer/etc/bouncehammer.cf-example /usr/local/bouncehammer/etc/bouncehammer.cf

# cp /usr/local/bouncehammer/etc/webui.cf-example /usr/local/bouncehammer/etc/webui.cf

# vi /usr/local/bouncehammer/etc/bouncehammer.cf

dbtype: 'MySQL'
dbname: 'bouncehammer'

# Database name, username and password of the db-user
username: 'bouncehammer'
password: '794-uguisu-heiankyo'

hostname: '127.0.0.1'
port: 3306

# yum -y install mysql-server
# mysql -u root -p
passwordに対しリターン(パスワードなしで)入れてみる

USE mysql;
update mysql.user set password=password('xx') where user = 'root';
FLUSH PRIVILEGES;
quit
mysql -u root -p
パスワード設定を確認

mysql> CREATE DATABASE bouncehammer; 
mysql> GRANT ALL PRIVILEGES ON bouncehammer.* TO bouncehammer@127.0.0.1 IDENTIFIED BY '794-uguisu-heiankyo'; 
mysql> FLUSH PRIVILEGES;

# mysql -uroot -pxx bouncehammer < /usr/local/bouncehammer/share/script/MySQL.sql
# mysql -uroot -pxx bouncehammer < /usr/local/bouncehammer/share/script/mastertable-hostgroups.sql
# mysql -uroot -pxx bouncehammer < /usr/local/bouncehammer/share/script/mastertable-many-providers.sql
# mysql -uroot -pxx bouncehammer < /usr/local/bouncehammer/share/script/mastertable-providers.sql
# mysql -uroot -pxx bouncehammer < /usr/local/bouncehammer/share/script/mastertable-reasons.sql
# mkdir /var/www/cgi-bin/admin/
# mkdir /var/www/cgi-bin/admin/mail/

#cp /usr/local/bouncehammer/share/script/bouncehammer.cgi /var/www/cgi-bin/admin/mail/bouncehammer.cgi

#chmod a+x /var/www/cgi-bin/admin/mail/bouncehammer.cgi

http://(ip)/cgi-bin/admin/mail/bouncehammer.cgi

外部のメールサーバの内容の登録 →
内部のメールサーバの内容の登録 →