【heroku】Node.jsからSendGrid経由でメールを発信したい【未完】

研究
OLYMPUS PEN E-PL9 (c)Maya
この記事は約1分で読めます。

dockerで動かしている分にはMailHogでいいんですが、herokuに配置するならそうは行かないです。

参考サイト

gomailを使ってローカルではmailhog・本番(Heroku)ではsendgridでメール送信する – Ulog

メール送信機能をgoのアプリケーションにつけようと思ったけど、どうやってやろうかなー、と。で、ローカルではdockerでメールサーバー用意して、本番ではsendgridで行うようにした。 メール送信のパッケージにはgomailというものを使ってやるかな。 以下のパッケージを使ってgoでメール送信をしようと思う。star数結構あるしね。ただ、コミットが数年前だったりするからなんとも言えない。 $ go get gopkg.in/gomail.v2 とりあえず、サクッと試したいなら以下の記事にように書くと動くと思われる。 ローカルでいちいちメール飛ばすのは怖いからブラウザでメールが確認できるものを使おう。mailhogだ。 dockerでアプリケーションを立ち上げているんだけど、mailhogにもimageがあるから別でコンテナを立ち上げて使うようにする。 docker-compose.ymlにmailhogの記述をする。 mailhog: image: mailhog/mailhog ports: – “8025:8025” これで docker-compose up して、ブラウザで8025番ポートでアクセスすればこんな画面になる。 mailhogを使ってメール送信をすると、この画面にどんなメールが送信されたのかという内容が表示される。 あとは下記のSend()内にあるようなプログラムを書けば、メールがMailhogで確認できた。 package mailer import ( gomail “gopkg.in/gomail.v2” ) type GoMailer struct { Message *gomail.Message } func NewMailer() *GoMailer { return &GoMailer{ Message: gomail.NewMessage(), } } func (mailer *GoMailer)

sendGridを使おうと思ったんだけれど、gmailがあるならそれでいいじゃないと低きへ流れる。

Node.js Gmail送信 – Qiita

More than 1 year has passed since last update. Gmailアカウントでメール送信をしたい場合があります。 gmail-sendを利用すると便利です。 npm install –save gmail-send const send = require ( ‘ gmail-send ‘ )({ user : ‘ xxx@gmail.com ‘ , pass : ‘ xxxアカウントのパスワード ‘ , to : ‘ taro@yahoo.co.jp ‘ , subject : ‘ Gmailからのメール送信確認の件 ‘ , }); send ({ text : ‘ ●●様 n こちらは2行目です。 n ‘ , }, ( error , result , fullResult ) => { if ( error ) console .

DockerからまさかのGmailが飛んだよ!
さてherokuにも反映しようかね…ん?

…誰だmigrateせずに直にmysql書いてカラム増やした奴は。私だ。

そこからやり直し。長くなったので一旦切ります。

コメント

タイトルとURLをコピーしました