前提・実現したいこと
firebaseのcloud functionsを利用して、reactで書いた問い合わせフォームから、 gmailを経由してメールを送信したい
ここに質問の内容を詳しく書いてください。
特にエラーメッセージはなく、cloud functions上のログを確認しても、ステータス200で返ってきており、処理自体は成功しています。
が、メールが届きません。
status code 200で返ってくる直前のログに
Callable request verification passed {"verifications":{"app":"MISSING","auth":"VALID"}}
が出力されてるのが、気になりググりましたが、特にこれが問題ではなさそう。
かなりググりましたが、同じ事例に出くわしてる人がgoogle上におらず、困り果てております。。。
どなたかお力をお貸しください。
該当のソースコード
react
1const functions = require("firebase-functions"); 2 3// メール送信用 4const nodemailer = require("nodemailer"); 5const gmailEmail = functions.config().gmail.email; 6const gmailPassword = functions.config().gmail.password; 7const adminEmail = functions.config().admin.email; 8 9// 送信に使用するメールサーバーの設定 10const mailTransport = nodemailer.createTransport({ 11 service: "gmail", 12 auth: { 13 user: gmailEmail, 14 pass: gmailPassword 15 } 16}); 17 18// 管理者用のメールテンプレート 19const adminContents = data => { 20 return `以下内容でホームページよりお問い合わせを受けました。 21お名前: 22${data.name} 23メールアドレス: 24${data.email} 25内容: 26${data.content} 27`; 28}; 29 30 31exports.sendMail = functions.region('asia-northeast1').https.onCall((data, context) => { 32 data, context, () => { 33 // メール設定 34 let adminMail = { 35 from: gmailEmail, 36 to: adminEmail, 37 subject: "ホームページお問い合わせ", 38 text: adminContents(data) 39 }; 40 return mailTransport.sendMail(adminMail, (error, info) => { 41 if (error) { 42 return res.status(500).send({ 43 data: { 44 status: 500, 45 message: error.toString(), 46 }, 47 }); 48 } 49 50 return res.status(200).send({ 51 data: { 52 status: 200, 53 message: 'sent', 54 }, 55 }); 56 }); 57 }; 58});
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
あなたの回答
tips
プレビュー