如何创建电子邮件回复/方法来编写回复?

时间:2017-01-18 06:28:45

标签: php email

我正在构建一个代表我的应用用户响应电子邮件的应用。这些电子邮件会发送给我的用户并被我的应用拦截,以自动回复客户。这些电子邮件来自第三方,包含品牌格式。

我的PHP应用程序获取电子邮件的完整HTML,将其存储在MySQL表中,然后创建回复并将HTML附加到电子邮件底部的<hr/>下。

这有效,它看起来像是一个回复(这是我的意图(虽然我会构建一些标题详细信息,使其看起来更合法,就好像它在Outlook中回复或类似))。

然而,我的问题是这种方法会损害回复格式 - 它似乎采用了来自回复底部原始电子邮件HTML的行高等样式。

因此,我的问题是,如何创建回复电子邮件?做我正在做的事情并更好地设计我的回复,或者我是否需要使用完整的原始文件,而不仅仅是HTML输出。是否可以在电子邮件中使用HTML标签?

如果答案是这样的话,我会喜欢它:从电子邮件中提取X并使用opensource Y库构建回复:)

编辑:按要求发送电子邮件示例

此第三方电子邮件包含一个如下所示的头部:

<html>
<head>
<style type='text/css'>
body{font-family: arial,helvetica,sans-serif;}
a{color: #06c;}
p{margin:0;}
#message{width:600px;margin:0 auto;}
.legal{margin-top:2em;}
.footer{margin-top:1em;padding:5px;background:#999999;color:#fff;}
.footer a{color:#fff;}
.senderName,.label{font-weight:bold;}
.link,.label,.hint{margin-top: 20px;}
.header-separator{height:4px;background-color:#e4002b;width:100%;margin-top:17px;}
tr,td{vertical-align:top;text-align:left;}
img{border:0;}
${css!""}
</style>
</head>
<body>
<div id='message'>
...

我的用户电子邮件模板(内置于TinyMCE)将如下所示:

<p><span style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: 14pt;">Dear [name],</span></p>
<p><span style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: 14pt;">Thanks for your enquiry
...

当我将电子邮件发送到电子邮件服务时,它很简单:

$emailreply = $userTemplate . '<hr/>' . $originalEnquiry;

当然,这还不够好?此外,这是我提到的电子邮件高度受影响的电子邮件 - 因此我的用户模板未按设计发送。

1 个答案:

答案 0 :(得分:0)

在第三方电子邮件中有点罕见的情况,当HTML电子邮件开发的常规程序是内联设置所有样式时,已将 final LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(getApplicationContext()); final Intent intent = new Intent("SAMPLE_ACTION"); lbm.sendBroadcast(intent); 标记分开。

有点逻辑这些样式(来自<style >标签会损坏您的新代码,这里最好的选择是使所有样式(来自第三方电子邮件)内联,因此,您可以删除<style >代码,同时保持两个电子邮件样式分开。

正如您所说 PHP App ,我认为您可以使用以下某些功能:

并确保,如果上面选择的某个工具未删除<style >标记,请自行删除(您可以使用正则表达式执行此操作)。

希望这会有所帮助,祝你好运