diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2021-02-11 17:47:30 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2021-02-11 17:47:30 +0900 |
| commit | 263032b6806ba3d296ba2956716de34c7d42ebe3 (patch) | |
| tree | ef4dbc2a05abf19c7d182619141d030752900357 /src | |
| parent | スクラッチパッド、ボタンウィジェット、AiScriptウィジェ... (diff) | |
| download | sharkey-263032b6806ba3d296ba2956716de34c7d42ebe3.tar.gz sharkey-263032b6806ba3d296ba2956716de34c7d42ebe3.tar.bz2 sharkey-263032b6806ba3d296ba2956716de34c7d42ebe3.zip | |
HTMLメール
Diffstat (limited to 'src')
| -rw-r--r-- | src/services/send-email.ts | 84 |
1 files changed, 82 insertions, 2 deletions
diff --git a/src/services/send-email.ts b/src/services/send-email.ts index 5a8f92be54..e713ea78d5 100644 --- a/src/services/send-email.ts +++ b/src/services/send-email.ts @@ -8,6 +8,9 @@ export const logger = new Logger('email'); export async function sendEmail(to: string, subject: string, text: string) { const meta = await fetchMeta(true); + const iconUrl = `${config.url}/assets/mi-white.png`; + const emailSettingUrl = `${config.url}/settings/email`; + const enableAuth = meta.smtpUser != null && meta.smtpUser !== ''; const transporter = nodemailer.createTransport({ @@ -26,8 +29,85 @@ export async function sendEmail(to: string, subject: string, text: string) { const info = await transporter.sendMail({ from: meta.email!, to: to, - subject: subject || 'Misskey', - text: text + subject: subject, + text: text, + html: `<!doctype html> + <html> + <head> + <meta charset="utf-8"> + <title>${ subject }</title> + <style> + html { + background: #eee; + } + + body { + padding: 16px; + } + + a { + text-decoration: none; + color: #86b300; + } + a:hover { + text-decoration: underline; + } + + main { + max-width: 500px; + margin: 0 auto; + background: #fff; + color: #555; + } + main > header { + padding: 32px; + background: #86b300; + } + main > header > img { + max-width: 128px; + max-height: 28px; + } + main > article { + padding: 32px; + } + main > article > h1 { + margin: 0 0 1em 0; + } + main > footer { + padding: 32px; + border-top: solid 1px #eee; + } + + nav { + box-sizing: border-box; + max-width: 500px; + margin: 16px auto 0 auto; + padding: 0 32px; + } + nav > a { + color: #888; + } + </style> + </head> + <body> + <main> + <header> + <img src="${ meta.logoImageUrl || meta.iconUrl || iconUrl }"/> + </header> + <article> + <h1>${ subject }</h1> + <div>${ text }</div> + </article> + <footer> + <a href="${ emailSettingUrl }">${ 'Email setting' }</a> + </footer> + </main> + <nav> + <a href="${ config.url }">${ config.host }</a> + </nav> + </body> + </html> + ` }); logger.info('Message sent: %s', info.messageId); |