【问题标题】:Is there an e-mail template file like *.oft, which can be opened in all e-mail programs?是否有像 *.oft 这样的电子邮件模板文件,可以在所有电子邮件程序中打开?
【发布时间】:2012-11-18 16:53:12
【问题描述】:

目前我正在编写一个充满数据的网络界面。我想将此数据导出为电子邮件模板,以便您之后编辑电子邮件。 有没有像*.oft这样的格式,所有邮件程序都可以读取?

我知道HTML中有这样的功能(<a href="mailto:[...]">)。由于电子邮件文本很长,我想附加文件,这似乎不是一个好的解决方案。

有人可以帮我吗?

【问题讨论】:

  • 实际上没有任何电子邮件模板文件格式,因为电子邮件是使用 HTML 和 CSS 设计的。你不能把邮件发给用户,让用户在他/她需要使用的时候复制邮件吗?如果您需要在发送的电子邮件中附加文件,请查看PEAR mail。
  • 如果没有人知道这个问题的答案,我认为:-(
  • Microsoft Outlook 可以使用 Word 文档 (.docx) 创建电子邮件模板,但您不能指望其他电子邮件客户端来执行此操作。如果您希望不同客户端的用户能够使用您的模板,HTML 和 CSS 是安全的选择。

标签: php email templates


【解决方案1】:

没有您想要的格式。设计电子邮件协议和格式的互联网工程师关心的是通过网络发送的内容,而不是机器内部的内容。因此,电子邮件在发送和接收消息时具有高度的互操作性,但内部 API 没有类似的标准主体。有时,有一些事实上的标准源于模仿流行软件的行为,但对于您正在寻找的电子邮件功能而言,这并没有发生。

【讨论】:

  • 不幸的是,您似乎做对了。我希望有一个电子邮件模板的标准......太糟糕了。
  • 应用软件的标准数据格式之所以有用的原因有很多,但没有任何实体有这样的要求。 W3C 做了相关工作,但即便如此,仍然主要面向跨互联网的数据。
【解决方案2】:

也许您的意思是 .EML 文件?我记得这个文件几乎可以用 Outlook、Thunderbird 等所有电子邮件客户端打开。

【讨论】:

  • 但是 eml 不是模板。它是电子邮件本身。用户需要点击回复或转发以使其适合。
  • 我找到了a thread,您可以在其中以草稿模式打开 EML 并发送它们(基本上用作模板)...但我发现有两倍的人说您不能...绝对感觉更像是一种 hack,而不是预期用途,但如果您可以让 hack 在您的电子邮件客户端中工作,这是可能的。
【解决方案3】:

据我所知,您可以选择以下两种方式之一:

1 - 使用预构建的解决方案,例如 postageapp.com 这些人提供的解决方案,他们的 API 看起来非常简单,可以满足您的所有需求。

2 - 比较耗时,但您可以使用 PHP 创建自己的模板。我会沿着这些思路去做。这是一种非常简单的方法。您可以在头脑中编写自己的 CSS 并发疯。请记住,在 HTML 电子邮件方面,表格是王道:) 编写模板后,您可以通过 $content 来填充它....

sender.php

<?php

        $email = "Hello, \n";
        $email.= "Very <strong>impressed</strong> with your email! \n\n";
        $email.= "Faithfully\n";
        $email.= "Mr Example\n";

        $to = "me@me.me"; // <-- Set this as yours for testing...

        $from = "someone@nice.me";
        $subject = "An email";
        $headers = "From: Someone nice <" . $from . ">\r\n";
        $headers .= "Reply-To: ". $from . "\r\n";
        $headers .= "MIME-Version: 1.0\r\n";
        $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
        $message = '<html><body>';
        $message .= nl2br($email); // <---- if your email contains newline characters - it will convert them to <br />
        $message .= '<br /><a href="http://www.example.com" target="_blank">www.example.com</a>';   
        $message .= "</body></html>";
        mail($to, $subject, $message, $headers);    
            // ADD LOTS OF PROTECTION IF NOT HARD CODING :)
?>

为了扩展这一点 - 例如,如果您使用 Gmail,那么您可以使用 Google 的 SMTP 来发送它 - 这样电子邮件就不会说“代表发送”。

【讨论】:

    【解决方案4】:

    只需使用不带 CSS 的 HTML 创建电子邮件。任何数据或二进制文件都可以通过 PHP 传递,然后通过电子邮件发送给收件人。

    要开始使用,请使用fopen(); 创建一个文件。 PHP 还有其他功能可以让您edit、open、search&replace 甚至将文件转换为您选择的格式。如果不是更好的话,这相当于一个 .oft 文件,因为无论电子邮件客户端如何,所有电子邮件都以文本或等效 html 格式发送。

    如果您想了解更多关于如何创建它的信息,请告诉我。

    【讨论】:

      猜你喜欢
      • 2020-01-14
      • 1970-01-01
      • 2011-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-04
      • 2015-08-10
      • 1970-01-01
      相关资源
      最近更新 更多