gpt4 book ai didi

java - 如何在javamail中以对齐格式编写邮件正文

转载 作者:行者123 更新时间:2023-12-01 14:02:30 24 4
gpt4 key购买 nike

我将从数据库中收集所有数据并将它们放入一个集合中。我想将该集合中的所有数据以正确对齐的格式放入我的 javamail 正文中,如下所示。我应该如何将列表数据放入正文内容中:

  EmployeeName:Ranjeeth.
Login Time:09:30.
Logout Time:18:30.

如何使用转义字符写入字符串?

最佳答案

最常见的方法之一是创建带有数据占位符的电子邮件模板。在运行时在模板中填充数据,然后在 java 邮件正文中使用完整的文本。

逐步:

  1. 在项目中创建一个模板文件,例如 mailBody.txt。内容可能是这样的:

    员工姓名:##EMP_NAME##。

    登录时间:##LOGIN_TIME##。

    注销时间:##LOGOUT_TIME##。

  2. 在运行时以字符串形式读取此文件内容,以便:

    查看此How to really read text file from classpath in Java

从 inpitstream 读取内容

    InputStream is = new FileInputStream("test");  // or your input stream
byte[] b = new byte[is.available()];
is.read(b);
String text = new String(b);
//System.out.println(text);

`String s = <content of the file>`

3.从数据库中准备数据,然后替换字符串内容占位符,例如:

s = s.replace("##EMP_NAME##", <emp name value from database>)

s = s.replace("##LOGIN_TIME##", <login time value from database>)

s = s.replace("##LOGOUT_TIME##", <logout value from database>)

  • 使用 String 作为电子邮件正文内容。
  • 您可以在模板中添加任何类型的格式、制表符、空格等,您的程序将无缝更改电子邮件文本。

    <小时/>

    编辑:要一次又一次地重复某个部分:如果您有简单的数据需要重复,只需考虑内联创建它,例如:

    StringBuilder temp=new StringBuilder("");
    for(loop to repeat the content){
    temp.append(<Emp Name value from database>).append("\n\t\t")
    .append(<login time value from database>).append("\n\t\t")
    .append(<logout time value from database>).append("\n\t\t");
    }

    制作模板如下:

    Hi,

    Below is the details of users:

    $#EMP_DETAILS#$

    Thanks, Your Name

    将模板读入字符串变量

    String s = <content of the file>;

    然后

    s.replace("$#EMP_DETAILS#$", temp.toString());

    你应该已经准备好了。

    关于java - 如何在javamail中以对齐格式编写邮件正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19243179/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com