格式化电子邮件正文(HTML?)

时间:2010-12-31 15:58:01

标签: android email html-table html-email

一个简单的问题,格式化某些电子邮件正文的方法是什么?特别是我需要像

这样的东西
<table><tr><td></td></tr></table>

标记。但就目前而言,我找不到实现这一目标的方法(除了粗体斜体 ......)。

HTML之外还有其他选择吗?对于最终结果,我只需要一些简单的表格。

编辑:@EJB @jondavidjohn

这适用于Android:)

@EJB

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<table>
<tr>
<td>Something</td>
<td>Something</td>
</tr>
<tr>
<td>Something</td>
<td>Something</td>
</tr>
</table>
</body>
</html>

5 个答案:

答案 0 :(得分:1)

我已经建立了这种方法来格式化我的电子邮件按摩体。 在HTML中使用希伯来语进行RTL对齐

    private String formatMassageBody(MassageData newMassage) {
    String tmpMassage;

        tmpMassage = "<html><meta charset=\"UTF-8\"><p><body dir=\"rtl\">";
        tmpMassage += "<b>מק\"ט:  </b>" + newMassage.getID() + "<br><br>";
        tmpMassage += "<b>התקבל ב:  </b>" + new Date().toString() + "<br>";
        tmpMassage += "<b>שם הפרוייקט: </b>" + newMassage.getProjectName() + "<br>";
        tmpMassage += "<b>שם מזמין העבודה:</b>" + newMassage.getOrderedBy()"<br>";
        tmpMassage += "<b>טלפון:  </b>" + newMassage.getPhoneNumber() + "<br>";
        tmpMassage += "<b>דחיפות:  </b>";
        tmpMassage += (newMassage.getPriority() == 1) ? "דחוף<br>" : "רגיל<br>";
        tmpMassage += "<b>מילות קוד:  </b>" + newMassage.getTagNames() + "<br>";
        tmpMassage += "</body></p><p><body dir=\"rtl\">";
        tmpMassage += "<br>";
        tmpMassage += "<b>פירוט הטכנאים: </b>" + newMassage.getText() + "<br><br>";
        tmpMassage += "<b>הטכנאי השולח: </b>" + newMassage.getTech() + "<br><br>";;
        tmpMassage += "<b>זמן עבודה משוער: </b>" + newMassage.getTTL() + "<br>";;
        tmpMassage += "</body></p><p></p></meta></html>";

        return tmpMassage;
}

像魅力一样工作:)

你可以看到我在这里使用的常用标签是:

    <br> - for a line break.
    <b> Text I want to BOLD </b> - for BOLD text.
    <p>....</p> - new paragraph.
    <meta charset=\"UTF-8\"> - declaring Hebrew characters
    <body dir=\"rtl\">" - setting the text direction to RIGHT-TO-LEFT for Hebrew.

祝你好运

<强>戴夫

答案 1 :(得分:0)

是的,HTML电子邮件只需要是自我持续的文档......

所以需要包含css(没有外部样式表)

并且所有图像路径都需要是满的,而不是相对的。

答案 2 :(得分:0)

我的建议是查看你得到的一些HTML电子邮件的来源......你绝对可以用HTML格式化,包括字体/颜色/图形等,但你用来制作网页的大部分规则都不是'适用。

在很多方面,它就像“旧时代”,所有格式都嵌入在html中,而不是从css文件中提取。

规则很棘手..如果你真的想知道如何正确行事(对于大多数电子邮件客户端能够看到正确的格式 - 它们并不完全相同),注册免费试用持续联系或mailchimp或其他大牌电子邮件提供商的帐户,使用他们的模板创建一些电子邮件,通过电子邮件发送给自己,然后研究他们的构建方式,并使用您学到的内容来构建自己的模板。

或者,只需研究一些您已经获得的HTML格式的电子邮件的来源;了解哪些有效,然后适应您的需求。

答案 3 :(得分:0)

我找到了一个解决方法。这不是一个很好的解决方案,但它对我有用。我生成HTML,并将文本保存为.html文件。然后,我通过电子邮件意图将其附加到电子邮件中。希望这有帮助!

答案 4 :(得分:0)

我很久才尝试上班,但最后:

使用电子邮件应用版本2.3.4,我设法完成了它。

我使用了以下代码行。

Intent emailIntent = new Intent(Intent.ACTION_SEND);
emailIntent.setType("text/html");
emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{"rap@jesus.ch"});
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Process Data");
emailIntent.putExtra(Intent.EXTRA_TEXT, text);
context.startActivity(Intent.createChooser(emailIntent, "Chooser Title"));

该文本是一个简单的字符串,其中包含Html。

它不适用于Gmail应用程序(版本2.3.6)