Skip to content

Commit 2d2cfb8

Browse files
authored
Create verify-email.yml
Signed-off-by: Lee Calcote <lee.calcote@layer5.io>
1 parent 4eae46b commit 2d2cfb8

File tree

1 file changed

+167
-0
lines changed

1 file changed

+167
-0
lines changed

.github/workflows/verify-email.yml

Lines changed: 167 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,167 @@
1+
name: Verify Email
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
to:
6+
description: 'recipient(s)'
7+
required: false
8+
# revision:
9+
# description: 'Revision of release'
10+
# required: true
11+
jobs:
12+
email:
13+
name: Prepare email
14+
runs-on: "ubuntu-24.04"
15+
steps:
16+
- name: Clone repo
17+
uses: actions/checkout@master
18+
- name: Send email
19+
uses: dawidd6/action-send-mail@v4
20+
with:
21+
# Required mail server address:
22+
server_address: smtp.gmail.com
23+
# Required mail server port:
24+
server_port: 465
25+
# Optional (recommended): mail server username:
26+
username: ${{secrets.MAIL_USERNAME}}
27+
# Optional (recommended) mail server password:
28+
password: ${{secrets.MAIL_PASSWORD}}
29+
# Required mail subject:
30+
subject: Verify your email address
31+
# Required recipients' addresses:
32+
to: ${{ inputs.to }}, lee.calcote@layer5.io
33+
# Required sender full name (address can be skipped):
34+
from: "Meshery Cloud" # <user@example.com>
35+
# Optional whether this connection use TLS (default is true if server_port is 465)
36+
secure: true
37+
# Optional plain body:
38+
body: Verify your email. Follow the link below.
39+
# Optional carbon copy recipients:
40+
# cc: leecalcote@icloud.com
41+
# Optional blind carbon copy recipients:
42+
# bcc: r2d2@example.com,hansolo@example.com
43+
# Optional recipient of the email response:
44+
reply_to: no-reply@layer5.io
45+
# Optional unsigned/invalid certificates allowance:
46+
ignore_cert: true
47+
# Optional converting Markdown to HTML (set content_type to text/html too):
48+
convert_markdown: false
49+
# Optional attachments:
50+
# attachments: attachments.zip,git.diff,./dist/static/*.js
51+
# Optional priority: 'high', 'normal' (default) or 'low'
52+
priority: normal
53+
# Optional HTML body read from file:
54+
html_body: '<html>
55+
<style>
56+
body {
57+
margin: 0;
58+
padding: 0;
59+
box-sizing: border-box;
60+
font-family: "Qanelas Soft,Arial";
61+
}
62+
@font-face {
63+
font-family: "Qanelas Soft";
64+
src: url("http://db.onlinewebfonts.com/t/5173256ffa3e08c4cbed8986369258a6.eot"); /* IE9*/
65+
src: url("http://db.onlinewebfonts.com/t/5173256ffa3e08c4cbed8986369258a6.eot?#iefix") format("embedded-opentype"), /* IE6-IE8 */
66+
url("http://db.onlinewebfonts.com/t/5173256ffa3e08c4cbed8986369258a6.woff2") format("woff2"), /* chrome firefox */
67+
url("http://db.onlinewebfonts.com/t/5173256ffa3e08c4cbed8986369258a6.woff") format("woff"), /* chrome firefox */
68+
url("http://db.onlinewebfonts.com/t/5173256ffa3e08c4cbed8986369258a6.ttf") format("truetype"), /* chrome firefox opera Safari, Android, iOS 4.2+*/
69+
url("http://db.onlinewebfonts.com/t/5173256ffa3e08c4cbed8986369258a6.svg#Qanelas Soft") format("svg"); /* iOS 4.1- */
70+
}
71+
p { font-family: "Qanelas Soft,Arial";
72+
padding: 1rem;
73+
margin: 1rem;
74+
font-size: 1.1rem;
75+
}
76+
a { color: #00B39F; }
77+
a:visited { color: #00B39F; }
78+
.verify {
79+
display: flex;
80+
flex-direction: column;
81+
border-radius: .5rem;
82+
color: #1e2117;
83+
border: #7A848E 1px solid;
84+
font-family: "Qanelas Soft,Arial";
85+
align-content: center;
86+
margin: 1.5rem;
87+
88+
}
89+
.header {
90+
display: flex;
91+
background-color: #1e2117;
92+
padding: 1rem;
93+
margin: 0rem;
94+
justify-content: center;
95+
align-items: flex-start;
96+
}
97+
.header-logo {
98+
width: 350px;
99+
}
100+
.button {
101+
padding: 1rem;
102+
margin: 1 4rem;
103+
font-size: 1.1rem;
104+
background-color: #00B39F;
105+
border: none;
106+
cursor: pointer;
107+
color: white;
108+
border-radius: .5rem;
109+
}
110+
.button:hover {
111+
background-color: #00D3A9;
112+
}
113+
.contact {
114+
display: flex;
115+
justify-content: center;
116+
font-size: 1rem;
117+
margin-top: 1.5rem;
118+
}
119+
.footer {
120+
background-color: #1e2117;
121+
display: flex;
122+
position: relative;
123+
flex-direction: row;
124+
justify-content: center;
125+
align-items: center;
126+
padding: 1rem;
127+
height: 2.25rem;
128+
}
129+
.social {
130+
height: 1.25rem;
131+
width: 1.25rem;
132+
padding: 0 .75rem;
133+
align-self: center;
134+
}
135+
.copyright {
136+
margin-top:.75rem; font-size: .9rem; color: #7A848E;
137+
font-style: italic;
138+
display: flex;
139+
justify-content: center;
140+
}
141+
</style>
142+
<body>
143+
<div class="header">
144+
<img class="header-logo"
145+
src="https://raw.githubusercontent.com/layer5labs/meshery-extensions-packages/master/email/layer5-cloud/meshery-cloud.svg"
146+
alt="Meshery logo" />
147+
</div>
148+
<div class="verify">
149+
<p>Hi,<br /><br />
150+
Click below to verify your email address and enable your Meshery Cloud account.
151+
</p>
152+
<button class="button">Verify email address</button>
153+
<p class="contact">Need any help?&nbsp;<a href="https://discuss.layer5.io">Contact us</a>.</p>
154+
</div>
155+
<div class="footer">
156+
<a href="https://twitter.com/layer5">
157+
<img class="social" src="https://mcusercontent.com/6b50be5aea3dfe1fd4c041d80/images/7547690c-0a33-4f92-985a-d8109765db24.png"></a>
158+
<a href="https://www.linkedin.com/company/layer5">
159+
<img class="social" src="https://mcusercontent.com/6b50be5aea3dfe1fd4c041d80/images/c3115a39-5f32-43a7-92d4-e0a14b3a626d.png"></a>
160+
<a href="https://slack.layer5.io">
161+
<img class="social" src="https://mcusercontent.com/6b50be5aea3dfe1fd4c041d80/images/7d98d789-47d6-4fe0-8074-f65de989eb08.png"></a>
162+
<a href="https://www.youtube.com/c/Layer5io">
163+
<img class="social" src="https://mcusercontent.com/6b50be5aea3dfe1fd4c041d80/images/1cce1b1a-c045-40cd-9a49-39ac5f193516.png" style="width:1.5rem;"></a>
164+
</div>
165+
<p class="copyright">Copyright 2022, Layer5, Inc. All right reserved.</p>
166+
</body>
167+
</html>'

0 commit comments

Comments
 (0)