首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTML-令人讨厌的电子邮件换行

HTML-令人讨厌的电子邮件换行
EN

Stack Overflow用户
提问于 2012-08-31 21:21:42
回答 3查看 5.7K关注 0票数 10

我正在深入研究html-email的东西,最后,我仍然有一个恼人的换行符的问题没有解决:/

GMail和/或Outlook通常会在标记期间准确地换行-导致外观和感觉完全损坏。因此,可能会发生整个内容都在< h2 >中的情况,因为结束标记通过换行进行了分隔。

代码语言:javascript
复制
m</strong><br/>Passwort: <
strong>20o3a7

这是一个由我的PHPMailer代码生成的损坏电子邮件的示例。

现在我迷上了一家公司的电子邮件,风格完美的时事通讯……在那里我看到了一个类似这样的代码:

代码语言:javascript
复制
<table width=3D"100%" cellspacin=
g=3D"0" border=3D"0" cellpadding=3D"0">

我几乎可以在这封奇怪的电子邮件->的任何一行中看到这一点,尽管它位于标签或参数词的中间,但总是以"=“结尾。而且它工作得很好!怎么会这样呢?在我看来,这个换行符是在电子邮件客户端之前生成的,但这只是我的猜测……

我可以找到非常好的文章如何创建一个正确的HTML电子邮件如下:

http://24ways.org/2009/rock-solid-html-emails

但是没有人写关于这个恼人的换行问题的文章,但我不敢相信我是唯一一个有这个问题的人……:/

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-08-31 21:26:02

简单的解决方法

代码语言:javascript
复制
$body = str_replace("<","\r\n<", $body);

每个HTML标记都将从新行开始,给出以下信息:

代码语言:javascript
复制
m
</strong>
<br/>Passwort: 
<strong>20o3a7

另一件事是,我在许多项目中使用了PHPMailer,向所有邮件客户端发送了数千封电子邮件,但我从未遇到过这个问题。确保你的代码是正确的。(也许您的文本编辑器正在换行?)

票数 13
EN

Stack Overflow用户

发布于 2012-09-01 04:59:43

<table width=3D"100%" cellspacing=3D"0" border=3D"0" cellpadding=

它被称为quoted printable编码,这是常见的html电子邮件。例如,'=3D‘代表'=’。

关于你的问题:我从来没有遇到过。如果不能查看源代码,就很难进行调试。但看起来你已经有了一个解决方案。:)

票数 2
EN

Stack Overflow用户

发布于 2016-07-20 03:20:48

代码语言:javascript
复制
$message = imap_fetchbody($inbox,$id,2);
$message = quoted_printable_decode($message); // magic
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12216228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档