我正在尝试编写一个发送电子邮件程序。我使用 html 作为电子邮件模板,但出现错误:
java.util.UnknownFormatConversionException: Conversion = '"'
这是错误和我的代码:
java.util.UnknownFormatConversionException: Conversion = '"'
java.util.Formatter.checkText(Unknown Source)
java.util.Formatter.parse(Unknown Source)
java.util.Formatter.format(Unknown Source)
java.util.Formatter.format(Unknown Source)
java.lang.String.format(Unknown Source)id.jd.partnership.service.message.impl.SendingEmailServiceImpl.sendEmail(SendingEmailServiceImpl.java:86)
这是 sendEmail 第 86 行:
String contentResult = String.format(htmlText, customer.getName());
这是 htmlText
String htmlText = "<img src=\"cid:Logo\" /><br><br>";
htmlText += "<b> Dear %s, </b><br>";
htmlText += "<p style='margin-bottom:1em;margin-top:1em;text-align:justify;'>Ini adalah email notifikasi untuk memberitahu Anda bahwa penukaran reward Samsung Slim Box Anda sudah kami terima. "
+ "Kami sekarang akan menyiapkan barang Anda untuk pengiriman. "
+ "Jangka waktu pengiriman yaitu 3 hari kerja untuk area Jabodetabek dan 7 hari kerja untuk area luar Jabodetabek. </p>";
htmlText += "<p style='margin-bottom:1em;text-align:justify;'>Silahkan hubungi Tim Layanan Pelanggan kami jika Anda tidak dapat menerima paket di alamat pengiriman yang Anda berikan kepada kami, "
+ "operator kami akan menghubungi Anda.</p> ";
htmlText += "<p style='margin-bottom:1em;text-align:justify;'>Kunjungi Pusat Bantuan kami jika Anda ingin memahami lebih lanjut tentang Pengiriman. "
+ "Ingat, Tim Layanan Pelanggan kami siap untuk membantu Anda dengan pertanyaan yang berkaitan dengan pesanan Anda, "
+ "cukup email kami di cs@jd.id. </p>";
htmlText += "<p style='margin-bottom:1em;'>Hormat Kami,<br>PT Jingdong Indonesia Pertama<br>www.jd.id</p>";
htmlText += "<p style='font-family; Helvetica, Arial; color: #7f8c8d; font-size:12px; text-align:justify;'><b>Kebijakan Privasi dan Keamanan<br></b></p>";
htmlText += "<p style='font-family; Helvetica, Arial; color: #7f8c8d; font-size:12px; text-align:justify;'>JD tidak akan pernah meminta anda untuk memberi tahu kata sandi atau informasi akun pribadi anda kepada kami melalui email "
+ "Anda hanya akan diminta untuk memasukkan password anda ketika anda masuk ke website kami. Kami menggunakan langkah-langkah untuk memastikan keamanan anda berbelanja di website kami dan melindungi kerahasiaan informasi pribadi yang anda berikan kepada kami. "
+ "Kami juga melakukan segala upaya untuk memastikan email-email yang kami kirimkan telah melalui proses pengecekan virus sebelum dikirimkan. "
+ "Jika anda menerima email yang mencurigakan atau terjadi kesalahan tujuan pengiriman, mohon laporkan hal tersebut kepada Tim Layanan Pelanggan kami di contact cs@jd.id untuk penyelidikan lebih lanjut.</font></p>";
htmlText += "<table width=\"100% \"cellpading=\"0\" cellspacing=\"0\">";
htmlText += "<tr>";
htmlText += "<td align=center>";
htmlText += "<p style='font-family; Helvetica, Arial; color: #7f8c8d; font-size:12px; text-align:center;'>Ikuti kami:<a href=\"facebook.com/JDID\"><img src=\"cid:fb\"/><a href=\"twitter.com/JDID\"><img src=\"cid:twitter\"/><a href=\"instagram.com/JDID\"><img src=\"cid:instagram\"/></a>";
htmlText += "</td></tr>";
htmlText += "<tr><td align=center>";
htmlText += "<p style='font-family; Helvetica, Arial; font-size:12px; text-align:center;'>Copyright © 2015-2016 jd.id Ltd. All Rights Reserved</p>";
htmlText += "</td> </tr></table>";
实际上一切正常,直到我在此代码中添加 html 表格:
htmlText += "<table width=`100%` cellpading=`0` cellspacing=`0`>".replace('`', '"');
htmlText += "<tr>";
htmlText += "<td align=center>";
htmlText += "<p style='font-family; Helvetica, Arial; color: #7f8c8d; font-size:12px; text-align:center;'>Ikuti kami:<a href=\"facebook.com/JDID\"><img src=\"cid:fb\"/><a href=\"twitter.com/JDID\"><img src=\"cid:twitter\"/><a href=\"instagram.com/JDID\"><img src=\"cid:instagram\"/></a>";
htmlText += "</td></tr>";
htmlText += "<tr><td align=center>";
htmlText += "<p style='font-family; Helvetica, Arial; font-size:12px; text-align:center;'>Copyright © 2015-2016 jd.id Ltd. All Rights Reserved</p>";
htmlText += "</td> </tr></table>";
希望你能明白我所说的。请帮忙。
最佳答案
转义表格标记中的百分比符号,如下所示:
htmlText += "<table width=`100%%` cellpading=`0` cellspacing=`0`>".replace('`', '"');
String.format
使用 %
来格式化数据。因此,要转义它,您需要使用 %%
。
Refer to the documentation在格式化程序
上。
希望这有帮助!
关于java - 出现错误 java.util.UnknownFormatConversionException : Conversion = '"' when making html table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44274308/