我有一个计划任务,每天在JBoss 5.1中运行,用于发送生日祝福。获取非servlet中的图像路径
邮件内容是HTML,我在邮件中嵌入图像。
现在我想要获取嵌入图像的路径,如何在非servelt环境中获取图像路径。
当然,我可以将图像放在一个静态位置并访问它们,为此我不想硬编码路径。
图像位于“WebContent/images/birthday.jpg”位置。
我有一个计划任务,每天在JBoss 5.1中运行,用于发送生日祝福。获取非servlet中的图像路径
邮件内容是HTML,我在邮件中嵌入图像。
现在我想要获取嵌入图像的路径,如何在非servelt环境中获取图像路径。
当然,我可以将图像放在一个静态位置并访问它们,为此我不想硬编码路径。
图像位于“WebContent/images/birthday.jpg”位置。
您是如何生成电子邮件内容的?这些也是静态html文件吗?
如果您打算使用简单的静态html文件,您将不得不硬编码图像路径。没有其他办法。
你可以编写一个简单的Java应用程序,它作为一个独立的应用程序运行(没有任何服务器,servlet等),它将创建邮件内容。
如果需要,Java代码也可以为您发送电子邮件。
这些都是你可以做的事情,如果你用java
您将可以轻松地为多个用户重新设计html内容。
使用属性文件的示例。
创建文件例如:“email_template.properties”
在文件中输入以下内容并保存。
image_server = http://www.mywebsite.com
image_folder = /的WebContent /图片/
创建一个java的程序来创建你的HTML邮件,并使用属性文件来生成图像位置。
Properties properties = new Properties();
try
{
properties.load(new FileInputStream("C://email_template.properties")); //specify path here
String sServerLocation = properties.getProperty("image_server");
String sImageFolder = properties.getProperty("image_folder");
StringBuilder strEmail = new StringBuilder();
strEmail.append("<html><body> <img src=\"" + sServerLocation + sImageFolder +"birthday.jsp\""> </body> </html>");
// Write code to generate complete email dynamically
// write code to send out the email or to save as html file to you machine, where you can send it manually.
}赶上(IOException异常E) {// }
你的想法。使用普通的html你将不得不硬编码。
但是,如果你使用一个简单的java文件,你可以获得更多的灵活性。
如果您需要代码发送来自java的电子邮件,请检查此链接。
How can I send an email by Java application using GMail, Yahoo, or Hotmail?