投稿日:2006年01月02日 作成鷹の巣

No.20014 mail.jarでのメール送信。



mail.jarでのメール送信。

No.20014 投稿時間:2006年01月02日(Mon) 01:41 投稿者名:NET32 URL:

TOMCATにmail.jarを乗せて、web上からメールを送ろうとしているのですが、
一般的なプロバイダのメールにはメールは送信できるのですが、
TOMCATとメールサーバが混在するパソコンにはメールが送れません。

SMTPはlocalhostなのでしょうか?

LAN上のメールサーバならば、SMTPはIPアドレスなのですが、
同一パソコンの場合、送信できません。


ご存知の方がおられましたら、よろしくお願いします。


送れない場合はそのSMTPサーバーのログを追いかける。

No.20017 投稿時間:2006年01月03日(Tue) 07:34 投稿者名:ふぁらだ URL:

特にmail.jar での話でなく、一般論としてですが。
同一マシン内に無条件でリレー可能なSMTPサーバーがあるなら
SMTPの指定は、localhost または 127.0.0.1 で良いと思われます。
送れない場合はそのSMTPサーバーのログを追いかける


LANからメール受信。

No.20029 投稿時間:2006年01月06日(Fri) 01:07 投稿者名:NET32  URL:

ご回答ありがとうございます。

POP before SMTPが原因かなと思い、以下を試しました。

mail.jarを利用して、POP3をしようとしているのですが、
プロバイダのメールサーバのメールは受信できるのですが、
LAN上のメールサーバはエラーで落ちてしまいます。

socketjavax.mail.FolderClosedException: java.io.EOFException: EOF on socket


Message message[] = folder.getMessages();

を通過したときにメールサーバとのconnectが切断されています。


しかし、メールソフトを使用してメール受信すると、
LAN上のメールサーバでも異常なく受信できてしまいます。


メールサーバとのconnectが切断されてしまう理由とは
何かありますでしょうか?



ある程度、
http://www.hellohiro.com/javamailpop.htm
を参考にし、

//空のProperty取得
Properties props=new Properties();
//Sessionオブジェクトの取得
Session s=Session.getDefaultInstance(props, null);
//Storeオブジェクトの取得
Store store=s.getStore("pop3");
//接続
store.connect("Pop3","Username","Password");
//Folderの取得
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
Message message[] = folder.getMessages();

for(int i=0,n=message.length;i<n;i++)
{
mClsSendMailBox = new ClsMailBox() ;

mClsSendMailBox.setFrom(message[i].getFrom().toString());
mClsSendMailBox.setSubject(message[i].getSubject().toString());
mClsSendMailBox.setMessage(message[i].getContent().toString());

this.maryMailList.add(mClsSendMailBox) ;
}
//close処理
folder.close(false);
store.close();

のコードを書いてみたのですが、


Message message[] = folder.getMessages();
部分でLANを監視していると、connectionが切断されてしまいます。

プロバイダのメールサーバでは切断されないということは、
メールサーバに問題があるということでしょうか?


よろしくお願いします。


目次掲示板過去ログ目次▲頁先頭