Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何创建电子邮件回复/编码回复的方法?_Php_Email - Fatal编程技术网

Php 如何创建电子邮件回复/编码回复的方法?

Php 如何创建电子邮件回复/编码回复的方法?,php,email,Php,Email,我正在构建一个应用程序,它代表我的应用程序用户响应电子邮件。这些电子邮件被发送给我的用户,并被我的应用截获,以自动回复他们的客户。这些电子邮件来自第三方,包含品牌格式 我的PHP应用程序获取电子邮件的完整HTML,将其存储在MySQL表中,然后创建回复,并将HTML附加到电子邮件底部的下 这是可行的,它看起来像一个回复(这是我的意图(尽管我将构建一些标题细节,使其看起来更合法,就像它在Outlook或类似工具中被回复一样)) 然而,我的问题是,这种方法损害了回复格式——它似乎采用了类似于回复底部

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

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

这是可行的,它看起来像一个回复(这是我的意图(尽管我将构建一些标题细节,使其看起来更合法,就像它在Outlook或类似工具中被回复一样))

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

因此,我的问题是,如何创建回复电子邮件?做我正在做的事情,更好地设计我的回复,或者我需要对完整的原始内容做更多的工作,而不仅仅是HTML输出。在电子邮件中添加HTML标记还可以吗

如果答案是:从电子邮件中提取X,并使用开源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'>
...
<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
...

正文{字体系列:arial,helvetica,无衬线;}
a{color:#06c;}
p{margin:0;}
#消息{宽度:600px;边距:0自动;}
.legal{页边距顶部:2em;}
.footer{页边距顶部:1em;填充:5px;背景:#999999;颜色:#fff;}
.footer a{color:#fff;}
.senderName、.label{font-weight:bold;}
.link、.label、.hint{页边距顶端:20px;}
.header分隔符{高度:4px;背景色:#e4002b;宽度:100%;页边距顶部:17px;}
tr,td{垂直对齐:顶部;文本对齐:左侧;}
img{边界:0;}
${css!“}
...
我的用户电子邮件模板(内置TinyMCE)将如下所示:

<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'>
...
<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;
$emailreply=$userTemplate'
$原创精神;
当然,这还不够好?另外,这是我提到的电子邮件,行距受到影响-因此我的用户模板没有按设计发送。

第三方电子邮件上的情况比较少见,在HTML电子邮件开发的通常过程是设置所有样式的内联时,将标签分开

合乎逻辑的是,这些样式(来自
标记)正在破坏您的新代码,这里的最佳选择是将所有样式(来自第三方电子邮件)内联,这样您就可以删除
标记,将两个电子邮件样式分开

正如您所说的PHP应用程序,我认为您可以使用以下一些:

并且确保,如果上面选择的工具之一没有删除
标记,请自己删除它(可以使用正则表达式)


希望这有帮助,祝你好运

你能发布其中一封电子邮件的标记吗?这将有助于理解你的问题。你想保留原始电子邮件样式还是修改它?我希望它看起来一样。