問題タブ [apache-commons-email]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Commons Email が正しいホストに接続されませんでした
リモートメールサーバーに接続しようとしましたが、どういうわけか、コモンズメール/JavaMail は常に localhost に接続しようとします。どうして???
私は常に次の例外を受け取ります。
java - commons-mail で送信された電子メールが *時々* 受信されません。どうすればトラブルシューティングできますか?
送信したメールが届かない場合、原因を特定するにはどうすればよいですか?
私のアプリは、Apache commons-mail ライブラリを使用して SMTP 経由で電子メールを送信します。テスト目的で、gmail SMTP サーバーを使用しています。(私たちの本番アプリは、ネットワーク上の内部サーバーを使用しています)。
テスト サーバーの 1 つのケースでは、添付ファイル付きの 5 つの電子メールを生成するバッチ ジョブがあります。一部の電子メールは受信され、他の電子メールは送信済みとしてマークされますが、受信トレイには表示されません。どのメールが受信され、どのメールが黙って消えるかというパターンはないようです。
エラーを送信してチェックするコードは次のようになります。
デバッガーで、例外がスローされていないことを確認しました。
私の最初の推測は、添付ファイルのサイズが大きすぎるということでした。しかし、gmail はおそらく 25MB の添付ファイルをサポートし、私の最大の添付ファイルは 14.3 MB です。場合によっては、5 通の電子メールのバッチ全体を実行すると、添付ファイルが最も大きい電子メールが通過し、小さい添付ファイルが消えてしまいます。
java - send() でハングする Commons メールの例
Apache Commons の電子メール ライブラリが機能するように、この例を取得しようとしています。これが私のコードです:
ご覧のとおり、基本的に例から変更されていませんが、587 は例外を引き起こすため(この質問Connection refused
に基づいて)、587 の代わりにポート 465 を使用する必要があります。現在、このコードは保留中です。私が得る唯一の出力は次のとおりです。email.send()
ただし、例外はスローされません。ファイアウォールでポートを開く必要がありますか? (仕事でやろうとしているので、できないかもしれません。)ありがとう!
編集
長い間、私はこの例外を受け取ります:
java - Axis2 と Apache Commons Email 間のエンコーディング
REST によって呼び出される次の Web サービス メソッドがあります。
リクエストは次のようsendMail?text=aäoöuü
にエンコードさx-www-form-urlencoded
れ
ますsendMail?text=a%E4o%F6u%FC
メールの内容は、a?o?u?
.
メール API はApache Commons Emailです。
メールに適切な文字エンコーディングを適用するにはどうすればよいですか?
java - 画像が埋め込まれた電子メールの送信
ロゴとユーザーの署名の画像を埋め込んだ HTML メールを送信しようとしています。私はApache Commonsメールを使用しています。私は Apache のサイト チュートリアルに従い、ウェブ上で見られるさまざまなアプローチを試しましたが、画像を埋め込むことはできません。これはイントラネット アプリケーションであり、外部からのアクセスをブロックするシングル サインオン システムの背後にあるため、URL を使用して埋め込み画像を取得することはできません。さらに、これは真の html ではなく、アプリケーションがテンプレートとして使用する xml です。以下に、xml - html (テキストが正しく表示され、画像が埋め込まれているだけで問題が発生することに注意してください) と、画像を埋め込むために使用するコードを追加しました。お願いします ?
結果の html/xml :
メールを送信するための私のコード:
java - Apache Commons Email encode attach with base64
base64でエンコードされたファイルを経由で送信しようとしていますが、ヘッダーapache.commons.mail
を取得するためにシームすることができません。Content-Transfer-Encoding: base64
そして、これが受信者に届くものです。
ファイルがBase64でエンコードされていることを指定するにはどうすればよいですか?
java - サーバー連絡先でのApache Commonsメールエラー
Apache Commons Email 経由で電子メールを送信する Java アプリがあります。アプリは私の開発環境で見つけるだけで動作しますが、サーバーに展開すると、Commons が電子メール サーバーに接続できなかったというエラーが表示されます。
org.apache.commons.mail.EmailException: 次への電子メールの送信に失敗しました: 255.255.255.255 :587 ...サーバーで認証中にエラーが発生しました。
これが私の設定ではないことを確認するために、2 つの異なるメール プロバイダーで試してみました。1) 当社のメール会社のメール プロバイダー、2) Gmail。どちらも私の開発で機能し、サーバーで同じメッセージで失敗します。
いくつかのポートと IP の組み合わせを試しました。SSL のオンとオフを切り替えました。メールプロバイダーに確認しました。サーバーまたはネットワークの構成が残っています。
私はリモートで作業しているため、サーバーと同じネットワーク上にいませんが、VPN を使用している場合でもアプリは機能します。
サーバー内から telnet を使用しましたが、適切なポートで電子メール プロバイダーに接続できます。
他に試してみることができる人はいますか?ありがとう。
編集 私が得ているエラーは認証エラーです。資格情報が渡されないようにするセキュリティ設定はありますか?
email - OSGi GWT org.apache.commons.mail.EmailException
コマンド ライン インターフェイスと GWT インターフェイスを備えた OSGi アプリケーションがあります。メールの送信を担当する別のバンドルがあります。Apache Commons Email を使用します。
電子メール バンドルは、電子メールを送信するための 1 つの方法のみを提供し、現時点ではすべてのプロパティがハード コードされています。
コマンドラインからメールを送信すると、バンドルへの参照が取得され、問題なくメールが送信されます。
GWT インターフェイスから電子メールを送信すると、バンドルへの参照が取得され、電子メールの送信が試行され、次の例外がスローされます。
org.apache.commons.mail.EmailException: Sending the email to the following server failed : mail.interzet.ru:25
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1242)
at org.apache.commons.mail.Email.send(Email.java:1267)
at com.ardor.email.internal.EmailServiceImpl.send(EmailServiceImpl.java:134)
at com.ardor.email.internal.EmailServiceImpl.sendChangeEmail(EmailServiceImpl.java:66)
at com.ardor.web.server.CustomerProxyServiceImpl.changeEmail(CustomerProxyServiceImpl.java:93)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:569)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:558)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:488)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:520)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:973)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:417)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:907)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)
at org.eclipse.jetty.server.Server.handle(Server.java:346)
at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:442)
at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:941)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:801)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:224)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:51)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:586)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:44)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533)
at java.lang.Thread.run(Thread.java:662)
Caused by: javax.mail.NoSuchProviderException: Unable to locate provider for protocol: smtp
at javax.mail.Session.getProvider(Session.java:229)
at javax.mail.Session.getTransport(Session.java:338)
at javax.mail.Session.getTransport(Session.java:368)
at javax.mail.Transport.send(Transport.java:67)
at javax.mail.Transport.send(Transport.java:48)
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1232)
どうすればいいの?同じコードを実行しています
HtmlEmail email = new HtmlEmail();
困惑!
email - Apache Commons Mail、javax.faces.event.AbortProcessingExceptionでEメールを送信できません
Apache Commons Email 1.2、Primefaces 3.2、Tomcat 7.0mojarra2.0.2を使用しています
電子メールを送信しようとすると、AbortProcessingExceptionが発生します*原因:java.lang.RuntimeException:コンパイルできないソースコード-誤ったsymタイプ:()void *
どんな助けでも大歓迎です
これが私のコードです:
スタックトレースは次のとおりです。