No.20014 投稿時間:2006年01月02日(Mon) 01:41 投稿者名:NET32 URL:
TOMCATにmail.jarを乗せて、web上からメールを送ろうとしているのですが、
一般的なプロバイダのメールにはメールは送信できるのですが、
TOMCATとメールサーバが混在するパソコンにはメールが送れません。
SMTPはlocalhostなのでしょうか?
LAN上のメールサーバならば、SMTPはIPアドレスなのですが、
同一パソコンの場合、送信できません。
ご存知の方がおられましたら、よろしくお願いします。
No.20017 投稿時間:2006年01月03日(Tue) 07:34 投稿者名:ふぁらだ URL:
特にmail.jar での話でなく、一般論としてですが。
同一マシン内に無条件でリレー可能なSMTPサーバーがあるなら
SMTPの指定は、localhost または 127.0.0.1 で良いと思われます。
送れない場合はそのSMTPサーバーのログを追いかける
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が切断されてしまいます。
プロバイダのメールサーバでは切断されないということは、
メールサーバに問題があるということでしょうか?
よろしくお願いします。