LoginSignup
1
3

More than 3 years have passed since last update.

Firebase functionsにGmailを使ったメールサーバを立てる

Posted at

Firebaseに簡単なGmailのメールサーバを立てたくて調べていたら、「この通りにやれば立てられる」みたいな情報があまりなかったので書きます。

参考にした記事

コード

import * as functions from 'firebase-functions'
import * as nodemailer from 'nodemailer'

const auth = {
  type         : 'OAuth2',
  user         : functions.config().mail.address as string,
  clientId     : functions.config().mail.client_id as string,
  clientSecret : functions.config().mail.client_secret as string,
  refreshToken : functions.config().mail.refresh_token as string,
}

const transport = {
  service: 'gmail',
  auth
}

const transportor = nodemailer.createTransport(transport as any)

export const sendMail = (to: string, subject: string, text: string) => {
  const message = {
    from: functions.config().mail.address as string,
    to,
    subject,
    text,
  }

  transportor
    .sendMail(message)
    .then(() => 'ok')
    .catch(e => e)
}

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3