0

apache-commons-logging.jarを使用してメールを送信しています。HTMLメールを正常に送信できますが、メールクライアントがHTMLメッセージメッセージをメールでサポートしていないという人はほとんどいません。以下はコードサンプルです-

HtmlEmail htmlEmail = new HtmlEmail();
htmlEmail.setHostName("localhost");
htmlEmail.addTo(email, "demo1@sample.com");
htmlEmail.setFrom("demo2@sample.com", "Demo2");
htmlEmail.setSubject("Subject Line");

String msg = "<html>Hi Demo1,";
msg       += "<br><br> &nbsp;&nbsp;&nbsp;&nbsp; A very warm Welcome";
msg       += "</html>";
htmlEmail.setHtmlMsg(msg);

// set the alternative message
htmlEmail.setTextMsg("Your email client does not support HTML messages");

// send the email
htmlEmail.send();

この問題を解決する方法がわかりません。

達人が私を助けてください。

前もって感謝します。

4

2 に答える 2

2

CommonsLoggingではなくCommonsEmailを使用して電子メールを送信している可能性があります。

電子メールクライアントをテキストを優先するように構成した人は、実際にはHTMLではなくテキストを見ることが期待されます。送信者としてできることは、より意味のあるプレーンテキストメッセージを書くことだけです。

于 2012-07-31T06:46:16.753 に答える
1

この「問題」の解決策は、次のことを変更することです。

htmlEmail.setTextMsg("Your email client does not support HTML messages");

htmlEmail.setTextMsg("A very warm Welcome");

...または完全に除外します。電子メール本文のHTMLバージョンまたはプレーンテキストバージョンを表示するように電子メールクライアントを構成するかどうかは、ユーザーが選択できます。理想的には両方を送信する必要がありますが、一方のバージョンのみを送信する場合は、もう一方のバージョンを除外する必要があります。


「非常に暖かいようこそ」の例を挙げましたが、ハイパーリンクのようなHTMLメッセージがたくさんあります。したがって、これらのメッセージをプレーンテキスト形式で提供することはできません。

このアドバイスを読むことをお勧めします。

(私はそれが主に電子メールのマーケティング担当者に向けられていることを知っています...しかし、アドバイスのほとんどはソフトウェアで生成された電子メールにも同様に当てはまります。)

肝心なのは、ユーザーがメールを読めるようにする場合は、実行可能なHTMLバージョンとプレーンテキストバージョンがあることを確認するのがあなたの仕事であるということです。そうしないと、さまざまな理由でHTMLメールを読めないまたは読めないユーザーの一部を疎外するリスクがあります。

于 2012-07-31T06:56:35.073 に答える