- PR -

javaによるメーリングリスト配信システム

投稿者投稿内容
りんご475
会議室デビュー日: 2004/09/08
投稿数: 11
投稿日時: 2004-09-12 14:48
こんんちは。

以前Perlで作成したML配信システムをJavaで作り直しているところです。
perlでのML処理の流れは以下の通りです。

1 ml.****@myhost.com宛のメールを受信
2 /etc/aliasesの記述に従いmail.plを起動
3 メールのヘッダ情報を取得。ML送信先、送信者アドレスからDBにあらかじめ登録してある
対象者へメールを送信
4 メール本文、標題、エラーなどをDBに記録

といった感じです。
現在、DB問い合わせの箇所はとりあえず保留とし、ML宛のメールをサーバが受取ったら
javaMailを使用したメール送信用のjavaプログラムを動作させ、ソース内に直接記述した
送信先へメールを送る、という処理は実現できています。

そこで質問なのですが、上記「3」に当たる、メールヘッダ情報および本文を
javaプログラム内に取り込む処理はどのように行えばよいのでしょうか?
javaにてperlで言うところのbinmode()...といった処理は可能ですか?

OSはRed Hat Linux 9.0です。
以上、宜しくお願い致します。

[ メッセージ編集済み 編集者: りんご475 編集日時 2004-09-12 14:50 ]
未記入
会議室デビュー日: 2004/09/12
投稿数: 5
投稿日時: 2004-09-12 15:12
Apache James/Mailet でも使えば?
りんご475
会議室デビュー日: 2004/09/08
投稿数: 11
投稿日時: 2004-09-15 17:11
Jamesをインストールし、期待通りの動作ができるようになってきています。

ただし、POPは問題がないのですが、SMTPができません。
クライアントのメーラから送信はできるのですが、サーバ側で受取った際
〜james-2.2.1-RC1/apps/james/var/mail/relay-denied/にメールが入ってしまいます。
どういった原因が考えられるでしょうか?
sendmailと同様/etc/mail/accessの内容も関わってくるのでしょうか?

宜しくお願いします。
aa
ぬし
会議室デビュー日: 2004/01/08
投稿数: 299
投稿日時: 2004-09-15 22:08
DNS未設定だとか。
りんご475
会議室デビュー日: 2004/09/08
投稿数: 11
投稿日時: 2004-09-16 00:13
ダイナミックDNSを使用しています。

いまでもjamesを停止してsendmailを起動すれば送受信ともに可能です。
aa
ぬし
会議室デビュー日: 2004/01/08
投稿数: 299
投稿日時: 2004-09-16 22:06
いや、そっちじゃなくてconfig.xmlの<dnsserver>に一つ以上のDNSサーバを指定していますか?
その送信先のメールアドレスが自分じゃなかったら、MXレコードで別のSMTPサーバに送信しますが、送信しようにも他のSMTPサーバが分からない状態じゃないのかと思いまして。

りんご475
会議室デビュー日: 2004/09/08
投稿数: 11
投稿日時: 2004-09-16 22:40
ありがとうございます。
conf.xml、dnsserverの記述は以下の通りです。
指定したIPはDDNS業者の指定したネームサーバのドメインをnslookupで引いたもので
記述のミスはありません。

<dnsserver>
<servers>
<server>211.***.***.***</server>
<server>211.***.***.***</server>
</servers>
<autodiscover>true</autodiscover>
<authoritative>false</authoritative>
</dnsserver>

よろしくお願いします。
aa
ぬし
会議室デビュー日: 2004/01/08
投稿数: 299
投稿日時: 2004-09-16 23:13
既にチェック済みだとは思いますが、

http://wiki.apache.org/james/JamesQuickstart

スキルアップ/キャリアアップ(JOB@IT)