Pythonコアスクリプトで実装されたローカルSMTPサーバーがあり、受信した電子メールの本文を単に出力します:
python -m smtpd -n -c DebuggingServer localhost:3333. (on Windows)
localhost 3333 に telnet すると、接続が成功し、SMTP を使用して電子メールを送信できます。
ただし、(Java DSL を介して) エンドポイント プロデューサーを使用してこの同じアドレスへのルートを構築すると、接続が失敗し、例外が送信されます。
.to("smtp://localhost:3333");
例外の一部は次のとおりです。
javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 3333;
nested exception is:
java.net.ConnectException: Connection refused: connect
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1961)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:654)
at javax.mail.Service.connect(Service.java:295)
at org.apache.camel.component.mail.DefaultJavaMailSender.send(DefaultJavaMailSender.java:111)
at org.apache.camel.component.mail.MailProducer.process(MailProducer.java:56)
何が起こっているのですか?CamelContext をホストするプロセスは、telnet クライアントと同じマシン上にあります。