Email template work
This commit is contained in:
@@ -1,10 +1,8 @@
|
||||
@component('mail::message',['site'=>$site])
|
||||
Howdy,
|
||||
@component('mail::message',['site'=>$site,'heading'=>'Link Your Account'])
|
||||
Hi {{ isset($user) ? $user->name.',' : '' }}
|
||||
|
||||
A request was made to link your account to a social login.
|
||||
|
||||
If you didnt make this request, you can ignore this, and the request will be ignored.
|
||||
|
||||
If you did make the request, then please enter the code displayed below.
|
||||
|
||||
@component('mail::panel')
|
||||
@@ -13,6 +11,11 @@ If you did make the request, then please enter the code displayed below.
|
||||
|
||||
Once you've keyed in this code, you'll be able to login to your account using your social login instead of a username and a password.
|
||||
|
||||
Thanks,<br>
|
||||
{{ config('app.name') }}
|
||||
Thanks,
|
||||
|
||||
{{ config('mail.from.name') }}
|
||||
|
||||
@component('mail::subcopy')
|
||||
If you didnt make this request, you can safely ignore this email - no change was made to your account, nor was it accessed by an unauthorised person.
|
||||
@endcomponent
|
||||
@endcomponent
|
11
resources/views/email/system/test_email.blade.php
Normal file
11
resources/views/email/system/test_email.blade.php
Normal file
@@ -0,0 +1,11 @@
|
||||
@component('mail::message',['site'=>$site,'heading'=>'System Test Email'])
|
||||
Hi {{ isset($user) ? $user->name.',' : '' }}
|
||||
|
||||
This is just a test email to validate that you can receive emails from us.
|
||||
|
||||
Nothing you need to do!
|
||||
|
||||
Thanks,
|
||||
|
||||
{{ config('mail.from.name') }}
|
||||
@endcomponent
|
3
resources/views/vendor/mail/html/footer.blade.php
vendored
Normal file
3
resources/views/vendor/mail/html/footer.blade.php
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<div class="footer">
|
||||
{{ Illuminate\Mail\Markdown::parse($slot) }}
|
||||
</div>
|
@@ -1,7 +1,6 @@
|
||||
<tr>
|
||||
<td class="header">
|
||||
<a href="{{ $url }}">
|
||||
<img class="pull-left" src="{{ $logo }}"> <div class="pull-right">{{ $slot }}</div>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<div class="header">
|
||||
<div class="fixedw">
|
||||
<img src="{{ $logo }}"><br>
|
||||
<div class="subject">{{ $slot }}</div>
|
||||
</div>
|
||||
</div>
|
@@ -3,54 +3,23 @@
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<meta name="color-scheme" content="light only">
|
||||
<meta name="supported-color-schemes" content="light only">
|
||||
<link href='http://fonts.googleapis.com/css?family=Bree+Serif' rel='stylesheet' type='text/css'>
|
||||
<link href="http://fonts.googleapis.com/css?family=Roboto:400,300,100,500,700,900,400italic,300italic" rel="stylesheet" type="text/css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<style>
|
||||
@media only screen and (max-width: 600px) {
|
||||
.inner-body {
|
||||
width: 100% !important;
|
||||
}
|
||||
{{ $header ?? '' }}
|
||||
|
||||
.footer {
|
||||
width: 100% !important;
|
||||
}
|
||||
}
|
||||
<section class="content">
|
||||
<div class="fixedw main-body">
|
||||
{{ Illuminate\Mail\Markdown::parse($slot) }}
|
||||
</div>
|
||||
|
||||
@media only screen and (max-width: 500px) {
|
||||
.button {
|
||||
width: 100% !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
{{ $subcopy ?? '' }}
|
||||
</section>
|
||||
|
||||
<table class="wrapper" width="100%" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td width="15%"> </td>
|
||||
<td align="center">
|
||||
<table class="content" width="100%" cellpadding="0" cellspacing="0">
|
||||
{{ $header ?? '' }}
|
||||
|
||||
<!-- Email Body -->
|
||||
<tr>
|
||||
<td class="body" width="100%" cellpadding="0" cellspacing="0">
|
||||
<table class="inner-body" align="center" width="570" cellpadding="0" cellspacing="0">
|
||||
<!-- Body content -->
|
||||
<tr>
|
||||
<td class="content-cell">
|
||||
{{ Illuminate\Mail\Markdown::parse($slot) }}
|
||||
|
||||
{{ $subcopy ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
{{ $footer ?? '' }}
|
||||
</table>
|
||||
</td>
|
||||
<td width="15%"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
{{ $footer ?? '' }}
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
@@ -1,8 +1,8 @@
|
||||
@component('mail::layout')
|
||||
{{-- Header --}}
|
||||
@slot('header')
|
||||
@component('mail::header', ['url' => config('app.url'),'logo'=>url($site->site_logo)])
|
||||
{{ $site->site_name }}
|
||||
@component('mail::header', ['url' => config('app.url'),'logo'=>url($site->email_logo)])
|
||||
{{ $heading }}
|
||||
@endcomponent
|
||||
@endslot
|
||||
|
||||
@@ -21,7 +21,11 @@
|
||||
{{-- Footer --}}
|
||||
@slot('footer')
|
||||
@component('mail::footer')
|
||||
© {{ date('Y') }} {{ config('app.name') }}. All rights reserved.
|
||||
<div class="fixedw" style="text-align: right; font-size: 0.8em;">
|
||||
{{ config('mail.from.name') }}<br>
|
||||
{!! $site->address('html') !!}<br>
|
||||
{{ $site->site_email }}
|
||||
</div>
|
||||
@endcomponent
|
||||
@endslot
|
||||
@endcomponent
|
5
resources/views/vendor/mail/html/panel.blade.php
vendored
Normal file
5
resources/views/vendor/mail/html/panel.blade.php
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<div style="margin: auto; text-align: center; padding-bottom: 20px;">
|
||||
<div class="panel">
|
||||
{{ $slot }}
|
||||
</div>
|
||||
</div>
|
3
resources/views/vendor/mail/html/subcopy.blade.php
vendored
Normal file
3
resources/views/vendor/mail/html/subcopy.blade.php
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<div class="light-box">
|
||||
{{ Illuminate\Mail\Markdown::parse($slot) }}
|
||||
</div>
|
396
resources/views/vendor/mail/html/themes/default.css
vendored
396
resources/views/vendor/mail/html/themes/default.css
vendored
@@ -1,299 +1,123 @@
|
||||
/* Base */
|
||||
|
||||
body, body *:not(html):not(style):not(br):not(tr):not(code) {
|
||||
font-family: Avenir, Helvetica, sans-serif;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: #f5f8fa;
|
||||
color: #74787E;
|
||||
height: 100%;
|
||||
hyphens: auto;
|
||||
line-height: 1.4;
|
||||
margin: 0;
|
||||
-moz-hyphens: auto;
|
||||
-ms-word-break: break-all;
|
||||
width: 100% !important;
|
||||
-webkit-hyphens: auto;
|
||||
-webkit-text-size-adjust: none;
|
||||
word-break: break-all;
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
p,
|
||||
ul,
|
||||
ol,
|
||||
blockquote {
|
||||
line-height: 1.4;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #3869D4;
|
||||
}
|
||||
|
||||
a img {
|
||||
border: none;
|
||||
}
|
||||
|
||||
/* Typography */
|
||||
|
||||
h1 {
|
||||
color: #2F3133;
|
||||
font-size: 19px;
|
||||
font-weight: bold;
|
||||
margin-top: 0;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #2F3133;
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
margin-top: 0;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
h3 {
|
||||
color: #2F3133;
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
margin-top: 0;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
p {
|
||||
color: #74787E;
|
||||
font-size: 16px;
|
||||
line-height: 1.5em;
|
||||
margin-top: 0;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
p.sub {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
img {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
/* Layout */
|
||||
|
||||
.wrapper {
|
||||
background-color: #f5f8fa;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
-premailer-cellpadding: 0;
|
||||
-premailer-cellspacing: 0;
|
||||
-premailer-width: 100%;
|
||||
}
|
||||
|
||||
.content {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
-premailer-cellpadding: 0;
|
||||
-premailer-cellspacing: 0;
|
||||
-premailer-width: 100%;
|
||||
}
|
||||
|
||||
/* Header */
|
||||
|
||||
.header {
|
||||
padding: 25px 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.header a {
|
||||
color: #bbbfc3;
|
||||
font-size: 19px;
|
||||
font-weight: bold;
|
||||
text-decoration: none;
|
||||
text-shadow: 0 1px 0 white;
|
||||
}
|
||||
|
||||
.header img {
|
||||
height: 35px;
|
||||
}
|
||||
|
||||
/* Body */
|
||||
|
||||
.body {
|
||||
background-color: #FFFFFF;
|
||||
border-bottom: 1px solid #EDEFF2;
|
||||
border-top: 1px solid #EDEFF2;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 580px;
|
||||
-premailer-cellpadding: 0;
|
||||
-premailer-cellspacing: 0;
|
||||
-premailer-width: 100%;
|
||||
}
|
||||
|
||||
.inner-body {
|
||||
background-color: #FFFFFF;
|
||||
body{
|
||||
margin: 0 auto;
|
||||
padding: 0;
|
||||
width: 570px;
|
||||
-premailer-cellpadding: 0;
|
||||
-premailer-cellspacing: 0;
|
||||
-premailer-width: 570px;
|
||||
font-family: 'Bree Serif';
|
||||
background: #f4f4f4;
|
||||
color: #6c7584;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
.pull-right {
|
||||
float: right;
|
||||
.header{
|
||||
background: #232323;
|
||||
border-bottom: 5px solid #454d59;
|
||||
padding: 20px 0px 10px 0px;
|
||||
margin-bottom: 30px;
|
||||
color: #f4f4f4;
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
.pull-left {
|
||||
float: left;
|
||||
.footer{
|
||||
background: #232323;
|
||||
border-top: 5px solid #454d59;
|
||||
padding: 10px 0px 20px 0px;
|
||||
margin-top: 30px;
|
||||
color: #f4f4f4;
|
||||
font-weight: 100;
|
||||
}
|
||||
|
||||
/* Subcopy */
|
||||
|
||||
.subcopy {
|
||||
border-top: 1px solid #EDEFF2;
|
||||
margin-top: 25px;
|
||||
padding-top: 25px;
|
||||
.subject{
|
||||
font-weight: 300;
|
||||
font-family: 'Bree Serif',serif;
|
||||
font-size: 1.5em;
|
||||
/* text-align: right; */
|
||||
}
|
||||
|
||||
.subcopy p {
|
||||
font-size: 12px;
|
||||
.panel{
|
||||
background:#454d59;
|
||||
border-radius: 10px;
|
||||
padding: 20px;
|
||||
font-weight: 300;
|
||||
color: #f4f4f4;
|
||||
font-size: 1.4em;
|
||||
display: inline-block
|
||||
}
|
||||
|
||||
/* Footer */
|
||||
|
||||
.footer {
|
||||
margin: 0 auto;
|
||||
padding: 0;
|
||||
text-align: center;
|
||||
width: 570px;
|
||||
-premailer-cellpadding: 0;
|
||||
-premailer-cellspacing: 0;
|
||||
-premailer-width: 570px;
|
||||
.light-box{
|
||||
background: #f9f9f9;
|
||||
border-radius: 10px;
|
||||
padding: 10px;
|
||||
font-weight: 300;
|
||||
margin-top: 20px;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
.footer p {
|
||||
color: #AEAEAE;
|
||||
font-size: 12px;
|
||||
text-align: center;
|
||||
.main-body{
|
||||
background: #ffffff;
|
||||
border-radius: 10px;
|
||||
color:#6c7584;
|
||||
font-weight: 400;
|
||||
padding:10px 20px;
|
||||
border-top:1px solid #dbdbdb;
|
||||
border-left:1px solid #dbdbdb;
|
||||
border-right:1px solid #dbdbdb;
|
||||
border-bottom:3px solid #dbdbdb;
|
||||
}
|
||||
.main-body table thead td{
|
||||
font-weight: 300;
|
||||
border-bottom: 1px solid #dbdbdb;
|
||||
color: #ccc
|
||||
}
|
||||
.main-body table td.title{
|
||||
font-size: 1.1em;
|
||||
line-height: 20px;
|
||||
}
|
||||
.main-body table td.title small{
|
||||
font-weight: 300;
|
||||
font-size: 0.9em;
|
||||
color: #6c7584
|
||||
}
|
||||
.main-body .note{
|
||||
font-size: 0.8em;
|
||||
font-weight: 300;
|
||||
font-style: normal;
|
||||
}
|
||||
/* -- TO VALIDATE -- */
|
||||
a{
|
||||
text-decoration: underline;
|
||||
color: #1cbbb4
|
||||
}
|
||||
a:hover{text-decoration: none;}
|
||||
|
||||
/* Tables */
|
||||
|
||||
.table table {
|
||||
h1{
|
||||
font-weight: 300;
|
||||
color: #121212;
|
||||
font-family: 'Bree Serif',serif;
|
||||
margin:0 auto;
|
||||
font-size: 32px;
|
||||
}
|
||||
h1 small{font-weight: 200; font-size: 24px;}
|
||||
h3{
|
||||
font-weight: 300;
|
||||
color: #121212;
|
||||
font-family: 'Bree Serif',serif;
|
||||
margin: 25px auto;
|
||||
font-size: 24px;
|
||||
}
|
||||
.free{color:#1cbbb4;}
|
||||
.paid{color:#0f80bb;}
|
||||
.links{
|
||||
margin: 30px auto;
|
||||
width: 100%;
|
||||
-premailer-cellpadding: 0;
|
||||
-premailer-cellspacing: 0;
|
||||
-premailer-width: 100%;
|
||||
width: 600px;
|
||||
}
|
||||
|
||||
.table th {
|
||||
border-bottom: 1px solid #EDEFF2;
|
||||
padding-bottom: 8px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.table td {
|
||||
color: #74787E;
|
||||
font-size: 15px;
|
||||
line-height: 18px;
|
||||
padding: 10px 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.content-cell {
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
/* Buttons */
|
||||
|
||||
.action {
|
||||
margin: 30px auto;
|
||||
padding: 0;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
-premailer-cellpadding: 0;
|
||||
-premailer-cellspacing: 0;
|
||||
-premailer-width: 100%;
|
||||
}
|
||||
|
||||
.button {
|
||||
border-radius: 3px;
|
||||
box-shadow: 0 2px 3px rgba(0, 0, 0, 0.16);
|
||||
color: #FFF;
|
||||
display: inline-block;
|
||||
text-decoration: none;
|
||||
-webkit-text-size-adjust: none;
|
||||
}
|
||||
|
||||
.button-blue {
|
||||
background-color: #3097D1;
|
||||
border-top: 10px solid #3097D1;
|
||||
border-right: 18px solid #3097D1;
|
||||
border-bottom: 10px solid #3097D1;
|
||||
border-left: 18px solid #3097D1;
|
||||
}
|
||||
|
||||
.button-green {
|
||||
background-color: #2ab27b;
|
||||
border-top: 10px solid #2ab27b;
|
||||
border-right: 18px solid #2ab27b;
|
||||
border-bottom: 10px solid #2ab27b;
|
||||
border-left: 18px solid #2ab27b;
|
||||
}
|
||||
|
||||
.button-red {
|
||||
background-color: #bf5329;
|
||||
border-top: 10px solid #bf5329;
|
||||
border-right: 18px solid #bf5329;
|
||||
border-bottom: 10px solid #bf5329;
|
||||
border-left: 18px solid #bf5329;
|
||||
}
|
||||
|
||||
/* Panels */
|
||||
|
||||
.panel {
|
||||
margin: 0 0 21px;
|
||||
}
|
||||
|
||||
.panel-content {
|
||||
background-color: #EDEFF2;
|
||||
padding: 16px;
|
||||
}
|
||||
|
||||
.panel-item {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.panel-item p:last-of-type {
|
||||
margin-bottom: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
/* Promotions */
|
||||
|
||||
.promotion {
|
||||
background-color: #FFFFFF;
|
||||
border: 2px dashed #9BA2AB;
|
||||
margin: 0;
|
||||
margin-bottom: 25px;
|
||||
margin-top: 25px;
|
||||
padding: 24px;
|
||||
width: 100%;
|
||||
-premailer-cellpadding: 0;
|
||||
-premailer-cellspacing: 0;
|
||||
-premailer-width: 100%;
|
||||
}
|
||||
|
||||
.promotion h1 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.promotion p {
|
||||
font-size: 15px;
|
||||
.links table td{
|
||||
padding: 20px;
|
||||
text-align: center;
|
||||
font-weight: 300;
|
||||
color: #333;
|
||||
font-size:18px;
|
||||
}
|
||||
.links table td span, .links table td a{font-weight: 400}
|
||||
.border-l{border-left:1px solid #ccc}
|
||||
.apikey{font-size: 18px; color:#333}
|
||||
.apikey p{border-bottom: 1px solid #dbdbdb; padding: 10px 0 10px 0;margin: 0 0;}
|
||||
.apikey p.last{border-bottom: none}
|
||||
.apikey small{font-size: 80%; font-weight: 300}
|
||||
.twitter{padding: 20px; font-weight: 300;font-size:16px;}
|
||||
.fixedw{width: 80%; margin: 0 auto;}
|
||||
.right{float:right}
|
||||
.left{float:left}
|
||||
.clear{clear: both;}
|
||||
table thead td {font-size: 16px;}
|
Reference in New Issue
Block a user