More from: mail

SPAM認定?

取引先の担当者から「ウチのドメインで出したメールが一部の人にはSPAMとして届いているらしいんだけど?」という相談が来た。
話を聞くとそのドメインともう一つのドメインでメールをこちらの管理しているサーバーに送信し、相手から来た返信のタイトルにSPAMの文字列が付いているとのこと。
文字列の付き方からして返信メールがSPAM認定されているのではないとのことだ。
問題になっているドメイン二つを教えて貰ってRBLチェックサイトで検索してみると、両ドメインとも一つのRBLに登録されていた。
理由はそのドメインでWEBサイトを置いているサーバのIPアドレスが登録されているためとのこと。
私の方で協力できるのはここまでで、これ以上はサーバの管理者との間で相談して欲しいということで話は終わったけど、何故IPアドレスが登録されたのかな?

←クリックしてくれると嬉しいです。

fetchmailで意味の無い設定をしてしまった(汗)

新規のメールユーザーが増えたのでサーバにユーザーを追加して受信用のデーモン代わりのfetchmailの設定も追加した。
当初は本来のサーバにメールを残すためにkeepオプションを付けて.fetchmailrcを書いた。
で、実際に受信動作をさせてみると取得済みのメールを何度も取得してしまい、メールボックス内に同じメールが複数取り込まれてしまう。
しかもユーザーのホームディレクトリに作られるはずの.fetchids(取得済みのメッセージIDを記録するファイル)ファイルが出来ていない。
おかしいな?と思って調べて見ると、keepオプションを付けているにもかかわらず、受信時にはa(All)オプションを付けて”fetchmail -a”としていた(汗)。
このaオプションは取得済みでも全て取得してしまうので、同じメールを何度も取り込んでしまっていたと言う訳だ。

焦って作業してはいけないということだね(爆)。

←クリックしてくれると嬉しいです。

NOQUEUE: Null connection from・・・・・・・

Mailを送信しようとメールソフトを設定し、実際に送信動作をさせると、タイトルのようなエラーが出て送れないという相談が来た。
問題のPCはMailサーバとは別ネットワークにあるので、最初はsendmail.cfでアクセス制限を掛けているせいかと思ったが、問題のPCと同じネットワークにある別のサーバからは問題無くMailの送信が出来ているので、制限が掛かっているわけでは無い。
実際に別のサーバにログインしてtelnetでMailサーバの25番ポートにアクセスし、完全に手動でメールの内容を入力してみても正しく送ることが出来た。
#HELOコマンドからMAIL FROM: RCPT TO: DATAコマンドまでをターミナルから入力して送信してみた。
以下は実際に入力したコマンドで、ホスト名やIPアドレス等は本物では無い。
行頭が”>”の行はMailサーバ側からの応答。
—————————————————-
# telnet XXX.YYY.XXX.AAA(MailサーバのIPアドレス) 25
Trying XXX.YYY.XXX.AAA…
Connected to XXX.YYY.XXX.AAA (XXX.YYY.XXX.AAA).
Escape character is ‘^]’.
>220 XXX.YYY.XXX.AAA ESMTP Sendmail バージョン番号; Thu, 7 Jun 2012 16:38:37 +0900
HELO ドメイン名等
>250 XXX.YYY.XXX.AAA Hello [クライアントのIPアドレス], pleased to meet you
MAIL FROM: <差出人のMailアドレス>
>250 <差出人のMailアドレス>… Sender ok
RCPT TO: <宛先アドレス>
>250 <宛先アドレス>… Recipient ok
DATA
>354 Enter mail, end with “.” on a line by itself
Subject: 件名
From: <メーラに表示される差出人>
To: <メーラに表示される宛先>

メール本文
. →本文の最後を示すピリオド
>250 QAA04352 Message accepted for delivery
QUIT
221 Mailサーバのホスト名もしくはIPアドレス closing connection
Connection closed by foreign host.
———————————————————
以上の入力で宛先には正しく届いたのでネットワーク間の通信の問題では無いことが確認できた。

件名のエラーメッセージはサーバの25番ポートにアクセスしても何も送信せずに接続を切断した際に出るものなので、メールソフトが何らかの理由で接続を確立出来ず(と判断して勝手)に切断しているような感じがする。
うーん、、、、、

←クリックしてくれると嬉しいです。

fetchmail でのサーバ上のメールの削除

4月にもやったけど、今日もメールサーバ上に溜めてあるメールの削除を頼まれた。
1アカウントを複数のPCで使うために普段の受信時にはサーバ上にメールを残すようにしてあるが、大量に溜ると受信時のレスポンスが悪くなってしまうので、ユーザーが我慢できなくなったら削除を依頼してくる。
なにせ前回実施したのが4月の末なので、詳細な手順を忘れている(爆)。
なので、この時の為にと思って当時このブログに手順を書いておいたので、今回はそれを参考にした。
「-Fもしくは–flushオプションだったのね」

今回は約4800通のメールが上記の手順で削除された。

←クリックしてくれると嬉しいです。

mail bomb

やられた・・・・・・・・
取引先業者が業務のメールを数百回繰り返し送ってきやがった・・・・・・・・
しかも大き目の添付ファイル付きの奴。
ったく、業務を妨害するつもりかぁ?!
こういうので担当者がメールの処理に時間がかかって他の業務に差支えが出た場合って、損害賠償請求出来るのだろうなぁ。
そこまでしなくても、お礼に倍の数を送り返してあげようか(笑)?
今後、この業者のメールアドレスは受信拒否リストに入れておこうかな?

←クリックしてくれると嬉しいです。

SPAM

SPAMと言えばポークランチョンミートの缶詰の商品名の一つ。
自分的にはTULIPのほうが好みだなぁ。

ってな話ではなく、日本語で言うところの「迷惑メール」の話。
職場で受信するSPAMが5000通/日にもなるというので、ブロックするためのアドレス収集を再開した。
2週間程ほぼ毎日受信メールから送信元アドレスを抜き出して/etc/mail/accessに追加する作業をした結果、5000通→1500通程に減少した。
これはsendmailの場合の対処法で、qmail等他のMTAでは別の方法となる。
実際のアドレス収集は自動で行い、その中から受信が必要なアドレスを例外アドレスとして別途収集し、残りを上記のファイルに追加している。
/bin/grep ^From: ”メールスプールファイル名” | /bin/grep @ | /bin/sed “s/^From:.*</From:/” | /bin/sed “s/>//” | /bin/sed “s/ //g” | /bin/sed “s/(.*)//” | /bin/sed “s/$/ DROP/” | /bin/sort | /usr/bin/uniq | /bin/grep -v -f ”例外アドレスを列記したファイルを指定”
上記のようなスクリプトを組んで自動収集をしている。泥臭いやり方だがこれでもアドレスの収集が出来ていて、実際に効果があがっている。
このスクリプトでやっているのは、
1.受信したメールが入っているスプールファイルから送信者のメールアドレス(From行)を切り出す。
2.余分な単語を削除(sedコマンドの繰り返し)した後に行末に”DROP”の文字列を追加。
3.アルファベット順への並び直し(sortコマンドの実行)。
4.同一のアドレスがある場合は一つのみ切り出す(uniqコマンドの実行)。
5.例外アドレスを列記したファイル中にあるアドレスを”grep -v -f”で除去。
これで得られた文字列(”From:hogehoge@geshogesho.com DROP”)をファイルに書き出し新たに例外に追加するアドレスが無いかをチェックした後に/etc/mail/accessファイルに追加してmakeを実行してaccess.dbに反映している。
行の最後を”REJECT”ではなく”DROP”にしているのは余計なトラフィックを発生させないため。
また、たとえREJECTでエラーメールを送り返そうとしても、返す先のアドレスが実在するかどうかが不明で、もしも実在しないアドレスだった場合(むしろそのほうが可能性が高い)にエラーメールが返って来るのを防ぐため。
それにしても相変わらず迷惑メールが多いなぁ。法律が制定されてから初めて適用されたのがつい最近っていうもどうかと思う。
受信者の同意無しに無差別に送るメールにはSubjectに「未承諾広告」と入れなくてはならない筈なのに、最近はそのようなメールを見かけない。
一見まともな内容に見えるメールでも、このような基本的なルールが守られていない。もっと取締りを強化して貰いたいものだ。

←クリックしてくれると嬉しいです。