sendmailのログから送受信件数をカウントする方法

このQ&Aのポイント
  • メールサーバ管理者がsendmailのログから送受信件数をカウントする方法について教えてください。
  • メールハブを経由してメールの送受信を行っており、ウイルスチェックのため同一メールログが2つ出力されています。
  • mailstatsコマンドを使用せずに、zcatコマンドのgrepを使って受信件数と送信件数を集計したいです。
回答を見る
  • ベストアンサー

sendmailのログから送受信件数

メールサーバ管理をやっています メール送受信するのにメールハブを経由して メールを送受信するのですが、メールハブでウイルスチェックをかけるため1件のメールに同じメールログが二つ 出力される仕様になっています。 送受信件数をカウントしたいのですがどのようにすれば出るのでしょうか? mailstatsコマンドは使用せずに集計したいのですが msgidをgrepで抽出してはみたのですが zcat maillog.Z | grep -i msgid | uniq | wc -l これで、受信件数が出るはずなのですが~ 送信件数は zcat maillog.Z | grep -i stat=sent | wc -l どなたかわかる方ご教授ください!

質問者が選んだベストアンサー

  • ベストアンサー
noname#41381
noname#41381
回答No.1

http://www.okweb.ne.jp/kotaeru.php3?q=573818 これの続きですね。 #こちらに補足されたほうがよかったような... >zcat maillog.Z | grep -i msgid | uniq | wc -l >これで、受信件数が出るはずなのですが~ > 単にmsgidで検索しても、受信(外部から内部)のfrom行でも 送信(内部から外部)のfrom行でも引っかかってしまいます。 外部からの受信をカウントするのであれば、 前回の参考URLにもあるようにto=<が内部宛かどうかで検索するとか relayをみて外部からのものかどうかを判断するとかでしょうね。 あとメールアドレス内にmsgidという語句があればそれも引っかかってしまいます。 なので、やるとしたら  uniqで重複行を削除して  from行だけgrepして  relayで内部MTAからなら送信、外部MTAからなら受信 というのにするとかはどうでしょうか? (これでもccやbccをどう判断するかとか、まだ問題はありそうですが...)

camion
質問者

お礼

ありがとうございます tryして見ます。

関連するQ&A

  • sendmailの送受信件数

    sendmailのログから送受信件数を取得するには どのようにすればよろしいでしょうか? 下記のコマンドを実行し他のです zcat maillogyyyymmdd.Z | grep from | wc -l(受信) zcat maillogyyyymmdd.Z | grep -i stat=sent | wc -l (送信)

  • sendmailで特定ドメインに送信できない

    さくらのクラウドでCentOS5を利用しています。 先日ストレージの障害が発生し、サーバーの再起動が発生したのですが、 その後、sendmailで特定ドメイン*@hoge.comにメールが送信できなくなり、 rootにメールが送信されるようになってしまいました。 hoge.comは自分の運営するWebサイト(同じサーバー)のドメイン(Aレコード)で、 メール(MXレコード)はGoogleAppsのGMailを使用しています。 sendmailの設定は初期状態のままです。 これまでは問題なく運用できていました。 MXレコードはnslookupでもgoogleに向いていることを確認しました。 Yahoo!などの別のアドレスや、異なるドメインのGoogleAppsへは問題なくsendmailできますし、 別のサーバーからは*@hoge.comにsendmail可能です。 $ sendmail -v hoge@hoge.com < /dev/null でテストメールをすると、一件問題なく送信したかのように処理が表示されますが、 maillogを確認すると、 Jan 8 22:42:47 *** sendmail[24564]: ***24564: from=root, size=0, class=0, nrcpts=1, msgid=<201201081342.***24564@hoge.com>, relay=root@localhost Jan 8 22:42:47 *** sendmail[24567]: ***24567: from=<root@hoge.com>, size=261, class=0, nrcpts=1, msgid=<201201081342.***24564@hoge.com>, proto=ESMTP, daemon=MTA, relay=hoge.com [127.0.0.1] Jan 8 22:42:47 *** sendmail[24564]: ***24564: to=hoge@hoge.com, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30000, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (***24567 Message accepted for delivery) Jan 8 22:42:47 *** sendmail[24568]: ***24567: to=root, ctladdr=<root@hoge.com> (0/0), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30455, dsn=2.0.0, stat=Sent のようになっており、なぜか最後にto=rootになってしまっています。 おそらくサーバーの再起動時に、なんだかの設定が切り替わったせいだと思いますが、 原因がわからず、どこを設定すれば良いのか困っています。 気になる点 ・逆引きホストを、hoge.comにしています。 ・仮想サーバーのホストネームをhoge.comにしています。 ご教授頂ければ幸いです。よろしくお願いいたします。

  • Sendmail のログの見方について

    sendmail のログの意味についてわからない部分があります。 "disconnect level 1"のようなログが結構でてきているのですが、 これは何を表しているのでしょうか? (ちなみにログレベルMAXの状態です。) 【ログ内容】 assigned id Milter: no active filter --- 220 ms01.hogehoge-lab.jp ESMTP Sendmail 8.13.1/8.13.1; Sun, 13 Apr 2008 04:42:14 +0900 <-- EHLO testserver.spam-hogehoge-lab.jp --- 250-ms01.hogehoge-lab.jp Hello testserver.hogehoge-lab.jp [172.31.81.143] (may be forged), pleased to meet you --- 250-ENHANCEDSTATUSCODES --- 250-PIPELINING --- 250-8BITMIME --- 250-SIZE --- 250-DSN --- 250-ETRN --- 250-AUTH GSSAPI DIGEST-MD5 CRAM-MD5 --- 250-DELIVERBY --- 250 HELP <-- MAIL From:<example@yoo.co.jp> SIZE=736 BODY=8BITMIME --- 451 yoo.co.jp: Name server timeout --- 050 <example@yoo.co.jp>... Transient parse error -- message queued for future delivery --- 451 yoo.co.jp: Name server timeout --- 451 yoo.co.jp: Name server timeout --- 250 2.1.0 <example@yoo.co.jp>... Sender ok <-- RCPT To:<demo2@hogehoge-lab.jp> --- 250 2.1.5 <demo2@hogehoge-lab.jp>... Recipient ok <-- DATA --- 354 Enter mail, end with "." on a line by itself from=<example@yoo.co.jp>, size=691, class=0, nrcpts=1, msgid=<200804121935.m3CJZrnB006989@pps001.spam-hogehoge-lab.jp>, bodytype=8BITMIME, proto=ESMTP, daemon=MTA, relay=testserver.hogehoge-lab.jp [172.31.81.143] (may be forged) queueup ./qfm3CJgESM017742 --- 250 2.0.0 m3CJgESM017742 Message accepted for delivery unlock ./xfm3CJgESM017742: unlink-fail 2 disconnect level 1 in background, pid=17743 doworklist, pid=17743 queueup ./qfm3CJgESM017742 sendenvelope, flags=0x625843 to=<demo2@hogehoge-lab.jp>, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30911, dsn=2.0.0, stat=Sent dropenvelope, e_flags=0x4625843, OpMode=q, pid=17743 done; delay=00:00:00, ntries=1 unlock ./xfm3CJgESM017742: unlink-fail 2 となってます。 そのほか、 --- 250 2.0.0 m3CJgESM017742 Message accepted for delivery より下のログ内容について、教えて頂ければよりありがたいです。 (ネットは結構みたのですが、Sendmailは中々なく・・・)

  • sendmailでメール送信できない

    CentOS5.2で以下のようにメールを送信しようとしたのですが、 メール送信できません。 echo "test" | /usr/sbin/sendmail -t -i aaaa@***.co.jp メールログは以下のように出力されます。 Jul 14 19:06:25 rescodev sendmail[5243]: n6E9p9uj005211: to=<aaaa@***.co.jp>, delay=00: 15:15, xdelay=00:02:00, mailer=esmtp, pri=210276, relay=mx.***.co.jp. [211.13.204.14], dsn =4.0.0, stat=Deferred: Connection timed out with mx.***.co.jp. 内部的にメールを送信しようとしても同じエラーで送信できません。 ルーターで破棄しているわけでもないようです。 調べていて気になったのが、グローバルIPが固定でないことです。 固定でないと相手方のメールサーバーに拒否されてしまうのでしょうか。 いろいろ試したのですが、未熟なせいかどうしても送信できません。 どなたか、教えていただけないでしょうか。 よろしくお願いします。

  • Sendmail8.11.2について

    Sendmail8.11.2について教えて下さい。 ledhat Linux7.1 にSendmail8.11.2をインスートルしてCFファイルを設定後、mailコマンドにて一般ユーザ同士及びrootから一般ユーザ宛のメールのやり取りはうまく出来るのですがroot宛にメールを送信しようとするとログファイル(/var/log/maillog)に以下のようなエラーが出力されます。 vod sendmail[24661]: f99ClRw24661: from=vod, size=29, class=0, nrcpts=1, msgid=<200110091247.f99 ClRw24661@vod.f-road.ne.jp>, relay=vod@localhost vod procmail[24662]: Insufficient privileges to deliver to "root" vod sendmail[24661]: f99ClRw24661: to=root, ctladdr=vod (501/500), delay=00:00:00, xdelay=00:00: 00, mailer=local, pri=30029, dsn=5.0.0, stat=Insufficient permission なにかのパーミッションでエラーになっているように思われるのですが。なにが悪いのでしょうか。 ちなみにCFのWIDE CFを使用し以下の項目のみを設定しています。 OS_TYPE=linux-redhat MX_SENDMAIL=yes MY_DOMAIN='ドメイン名' OFFICIAL_NAME='オフィシャル名' FROM_ADDRESS='$m' DIRECT_DELIVER_DOMAINS=all QUEUE_DIR='/var/spool/mqueue' その他はデフォルトとなっています。 御存知の方、御教示をお願いします。

  • redhat8で外部にメールが送信できなくなりました。

    redhat8で外部にメールが送信できなくなりました。 sendmailの設定はデフォルトの状態です。 外部にpingが飛び、名前解決も問題ないようです。 原因がよくわからないのですが、 いつのまにかメールが送信できなくなっていました。 どこかの設定をさわってしまったんだと思うのですが・・。 うまく送信できていた時のログ(/var/log/maillog)は 下記のような感じです。 from=xxx, size=47, class=0, nrcpts=1, msgid=<2003@vaio>, relay=xxx@localhost from=<xxx@vaio>, size=279, class=0, nrcpts=1, msgid=<2003@vaio>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1] to=aaa@aaa.aaa, ctladdr=xxx (500/500), delay=00:00:06, xdelay=00:00:05, mailer=relay, pri=30034, relay=localhost.localdomain. [127.0.0.1], dsn=2.0.0, stat=Sent (h3U1IQxG000866 Message accepted for delivery) to=<aaa@aaa.aaa>, ctladdr=<xxx@vaio> (500/500), delay=00:00:00, xdelay=00:00:00, mailer=esmtp, pri=30266, relay=aaa.aaa.aaa. [210.xxx.xxx.xx], dsn=2.0.0, stat=Sent (ok 1051665216 qp 9132) 現在のログは下記のような感じです。 from=xxx, size=39, class=0, nrcpts=1, msgid=<2003@vaio>, relay=xxx@localhost to=aaa@aaa.aaa, delay=00:00:20, mailer=esmtp, pri=30034, dsn=4.4.3, stat=queued いずれもメーラーを使用せず、mailコマンドで送信した結果です。 何かヒントを頂けるとうれしいです。 よろしくお願いします。

  • 特定ユーザから送信があった場合のみメール通知する

    ある特定のユーザから送信があった時にメールで通知したいと考えています。 以下サイトを参考に次の様なシェルを作成しましたが、メールログを全て検索してしまうのか大量のメールが通知先のアドレスに送付されてしまい希望通りの動作になりません。 どのようにすると ・メールログに特定のユーザのログが書かれた時だけメール送信(通知は1通だけ)する事が出来ますでしょうか。 ■参考サイト http://lab.hde.co.jp/2008/04/tail.html ■使い方 ./alert /var/log/maillog ■作成したシェル ----------------------------------------------------------------------- #!/bin/sh mail_alert() { while read i do echo $i | grep -q [対象のメールアドレス] if [ $? = "0" ];then echo $i | mail -s [メール件名] [送信先メールアドレス] fi done } tail -n 0 --follow=name --retry $1 | mail_alert -----------------------------------------------------------------------

  • Sendmailで外部へ送信できない。

    こんにちは、初めて質問させていただきます。 非固定IPアドレス環境でfedora10搭載のsendmailを使って メールサーバー構築中ですが、外部への送信だけができません。 OP25対策でISP(so-net)メールサーバを中継させて送信できるように いろんな設定紹介サイトを参考にしながらOP25対策設定を 進めているのですが、なかなか上手く行きません。 /var/log/maillogを見ると以下のログが出ています。 server sendmail[2937]: n6M4YMrV002937: from=test, size=45, class=0, nrcpts=1, msgid=<200907220434.n6M4YMrV002937@server.test.test.jp>, relay=root@localhost server sendmail[2942]: n6M4ZHIL002942: from=<test@server.test.test.jp>, size=341, class=0, nrcpts=1, msgid=<200907220434.n6M4YMrV002937@server.test.test.jp>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1] server sendmail[2937]: n6M4YMrV002937: to=test@ab0.so-net.ne.jp, ctladdr=test (500/500), delay=00:00:55, xdelay=00:00:00, mailer=relay, pri=30045, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (n6M4ZHIL002942 Message accepted for delivery) server sendmail[2944]: STARTTLS=client, relay=mail.so-net.ne.jp., version=TLSv1/SSLv3, verify=FAIL, cipher=DHE-RSA-AES256-SHA, bits=256/256 server sendmail[2944]: n6M4ZHIL002942: to=<test@ab0.so-net.ne.jp>, ctladdr=<test@server.test.test.jp> (500/500), delay=00:00:00, xdelay=00:00:00, mailer=esmtp, pri=120341, relay=mail.so-net.ne.jp. 送信したメールは(reason: 530 5.7.0 Authentication required) との内容のメールが返ってきます。 設定内容の不備や不足している機能もあると思います。 全くの素人で、八方塞の状態で悩んでいます。 どなたかお知恵をお貸しください。 よろしくお願いします。

  • P901IのMAIL送受信保存件数について

    P901Iを使用しておりますが、いくつか教えて頂きたく思います。 【フォルダを作っていない場合(買ったままの状態)】 1.メールの最大送受信件数は何件保存できますか? 2.受信最大はたぶん1.000件だと思うのですが、1.000件を越したらどうなりますか?絶えず1.000件目は1/1.000と表示されて残っていますか? 3.送信保存メールは最大何件か判らないのですが、2と同様、1/???と表示されてますか? 【フォルダを何件か作っている場合】(何種類かのフォルダに何件か保存メールが入ってるとして) 1.フォルダの受信保存メールは最大何件になりますか? 2.フォルダの送信保存メールは最大何件になりますか? 3.受信メール、送信メールが最大を越えるとフォルダ内から消えて行きますか?それともフォルダ内はそのままで受信メールから消えて行きますか? たくさんの項目で申し訳ないですがどうかよろしくお願い致します。m(_ヾ_)m

  • sendmailで、Thunderbirdによってメールを受信できるアカウントとそうでないアカウントが存在する

    VPSのレンタルサーバで、 sendmailを使っています。 一度、postfixを導入しようとしたのですが、やはりやめて、sendmailに戻しました。 すると、 (以下例) ok@exameple.com のメアドは受信できるのに、 fusigi@example.comのメアドは受信できなくなりました。(メッセージがないと言われる) で、Webminでメールボックスを見る(「Read User Mail」)と、fusigi@example.com 宛のメールがたまっています。 で、fusigi@example.com宛にメールを送ると、 /var/log/maillogは Apr 15 20:19:40 www sendmail[1547]: m3FBJdhP001543: to=<fusigi@example.com>, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=31747, dsn=2.0.0, stat=Sent となっています。 また、新しく newemail@example.comというアカウントをつくると、同様の現象がおきます。 (Webminでメールボックスを見ると、メールがたまってるが、受信しようとすると、メッセージがないと言われる) どうしたらこの現象を打開できるでしょうか? どなたかおわかりのかたいらっしゃいましたら、どうぞよろしくお願いいたします。