在电子邮件

时间:2016-10-30 21:03:25

标签: html css laravel-5 materialize

我正在使用laravel5并使用materialize 我在电子邮件中发送视图时没有加载css 我尝试将我的css文件内联,但这不起作用

这是我发送的一个例子:

头标记:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no"/>
<title>my web site</title>
<!-- CSS  -->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link href="{{ asset('css/materialize.css') }}" type="text/css" rel="stylesheet" media="screen,projection"/>
<link href="{{ asset('css/style.css') }}" type="text/css" rel="stylesheet" media="screen,projection"/>

页面内容:

<header id="top" class="nav-down">
<nav class="nav-wrapper yellow darken-1" role="navigation">
    <div class="nav-wrapper container">
        welcome all
    </div>
</nav>

2 个答案:

答案 0 :(得分:1)

您需要为每个元素内联样式以确保提供css。您可以使用此工具自动执行此操作https://putsmail.com/inliner

答案 1 :(得分:1)

除了在每个HTML-TAG中使用css-inline-style之外,你应该考虑一些电子邮件应用程序和Web界面BLOCK html。所以你应该总是附上第二个&#34;仅包含文字的电子邮件。

以下是如何执行此操作的示例:http://www.practicalecommerce.com/articles/100130-html-email-multi

你可以忘记以下内容:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no"/>

原因如下:例如,Outlook.com仅将<body>部分呈现在其自己的DOM中 - 而不是像旧版本那样在iframe中呈现。 (他们当然会在显示之前检查并验证代码),因此您的元标签将会丢失。 传递编码不是由你的html完成的,而是由电子邮件本身完成的。

您的电子邮件标题应包含以下条目:

Content-Transfer-Encoding: 8bit
Content-Type: text/html; charset="UTF-8"

希望这有帮助。