Php 如何创建电子邮件回复/编码回复的方法?
我正在构建一个应用程序,它代表我的应用程序用户响应电子邮件。这些电子邮件被发送给我的用户,并被我的应用截获,以自动回复他们的客户。这些电子邮件来自第三方,包含品牌格式 我的PHP应用程序获取电子邮件的完整HTML,将其存储在MySQL表中,然后创建回复,并将HTML附加到电子邮件底部的Php 如何创建电子邮件回复/编码回复的方法?,php,email,Php,Email,我正在构建一个应用程序,它代表我的应用程序用户响应电子邮件。这些电子邮件被发送给我的用户,并被我的应用截获,以自动回复他们的客户。这些电子邮件来自第三方,包含品牌格式 我的PHP应用程序获取电子邮件的完整HTML,将其存储在MySQL表中,然后创建回复,并将HTML附加到电子邮件底部的下 这是可行的,它看起来像一个回复(这是我的意图(尽管我将构建一些标题细节,使其看起来更合法,就像它在Outlook或类似工具中被回复一样)) 然而,我的问题是,这种方法损害了回复格式——它似乎采用了类似于回复底部
下
这是可行的,它看起来像一个回复(这是我的意图(尽管我将构建一些标题细节,使其看起来更合法,就像它在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应用程序,我认为您可以使用以下一些:
…
标记,请自己删除它(可以使用正则表达式)
希望这有帮助,祝你好运你能发布其中一封电子邮件的标记吗?这将有助于理解你的问题。你想保留原始电子邮件样式还是修改它?我希望它看起来一样。