summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2019-07-04 21:07:02 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2019-07-04 21:07:02 +0900
commit16b81fff380023e3795d7c7a82f7cd7de5ffbcc7 (patch)
tree7714d83345827c54913f9696715b7512b375d0e5 /src
parentFix bug (diff)
downloadsharkey-16b81fff380023e3795d7c7a82f7cd7de5ffbcc7.tar.gz
sharkey-16b81fff380023e3795d7c7a82f7cd7de5ffbcc7.tar.bz2
sharkey-16b81fff380023e3795d7c7a82f7cd7de5ffbcc7.zip
Resolve #3431
Diffstat (limited to 'src')
-rw-r--r--src/client/app/admin/views/instance.vue27
-rw-r--r--src/server/api/endpoints/admin/send-email.ts26
2 files changed, 53 insertions, 0 deletions
diff --git a/src/client/app/admin/views/instance.vue b/src/client/app/admin/views/instance.vue
index 588b24f6b5..7d271bcb89 100644
--- a/src/client/app/admin/views/instance.vue
+++ b/src/client/app/admin/views/instance.vue
@@ -129,6 +129,7 @@
<ui-input v-model="smtpPass" type="password" :with-password-toggle="true" :disabled="!enableEmail || !smtpAuth">{{ $t('smtp-pass') }}</ui-input>
</ui-horizon-group>
<ui-switch v-model="smtpSecure" :disabled="!enableEmail">{{ $t('smtp-secure') }}<template #desc>{{ $t('smtp-secure-info') }}</template></ui-switch>
+ <ui-button @click="testEmail()">{{ $t('test-email') }}</ui-button>
</template>
</section>
<section>
@@ -424,6 +425,32 @@ export default Vue.extend({
});
},
+ async testEmail() {
+ const { canceled, result: to } = await this.$root.dialog({
+ title: this.$t('test-email-to'),
+ input: {
+ type: 'email',
+ },
+ showCancelButton: true
+ });
+ if (canceled) return;
+ this.$root.api('admin/send-email', {
+ to: to,
+ subject: 'Test email',
+ text: 'Yo'
+ }).then(x => {
+ this.$root.dialog({
+ type: 'success',
+ splash: true
+ });
+ }).catch(e => {
+ this.$root.dialog({
+ type: 'error',
+ text: e
+ });
+ });
+ },
+
updateMeta() {
this.$root.api('admin/update-meta', {
maintainerName: this.maintainerName,
diff --git a/src/server/api/endpoints/admin/send-email.ts b/src/server/api/endpoints/admin/send-email.ts
new file mode 100644
index 0000000000..fed4f2df14
--- /dev/null
+++ b/src/server/api/endpoints/admin/send-email.ts
@@ -0,0 +1,26 @@
+import $ from 'cafy';
+import define from '../../define';
+import { sendEmail } from '../../../../services/send-email';
+
+export const meta = {
+ tags: ['admin'],
+
+ requireCredential: true,
+ requireModerator: true,
+
+ params: {
+ to: {
+ validator: $.str,
+ },
+ subject: {
+ validator: $.str,
+ },
+ text: {
+ validator: $.str,
+ },
+ }
+};
+
+export default define(meta, async (ps) => {
+ await sendEmail(ps.to, ps.subject, ps.text);
+});