最近気温の差が激しい。。。
今日はお名前ドットコムで登録した独自ドメインでメール送信を行いたいと思います。
早速説明に参りたいと思います。
はじめに#
お名前ドットコムのドメイン登録のやり方は説明致しませんので、まだ登録していない方はご登録してから本記事をご覧ください。
また、メールを送信するためにはレンタルサーバーの登録が必要なので、こちらもご登録してから本記事をご覧ください。
nodeemailerでメール送信#
メールアドレス登録##
お名前ドットコムの「レンタルサーバー一覧」から登録したドメインでログインしてください。
このような画面になると思います。
「メール」をクリック
まずは、「メールアドレスを追加」でメールアドレスを追加してください。
パスワードは忘れずに!この後使います!!
また、ここで登録したメールアドレスは「info@example.com」として説明していきます。
次に追加したメールアドレスの「詳細」へ。
ここで、受信サーバーやら送信サーバーの情報が表示されます。
この情報をもとにnodeemailer
でメールを送信していきます。
transporterの作成##
また、今回nodeemailer
は「FirebaseFunctions」で行います。
const nodemailer = require('nodemailer')
exports.sendContactMail = functions.region('asia-northeast1').https.onCall((data, context) => {
const mailAddress = `info@example.com`
const password = `メール作成したときのパスワード`
const transporter = nodemailer.createTransport({
pool: true,
host: 'mail**.onamae.ne.jp',
port: 465,
secure: true,
auth: {
user: mailAddress,
pass: password
}
})
})
mailOptionsの作成##
次に、誰にメールを送信するか、タイトルは何か、メールの内容を書いていきたいと思います。
const nodemailer = require('nodemailer')
exports.sendContactMail = functions.region('asia-northeast1').https.onCall((data, context) => {
const mailAddress = `info@example.com`
const password = `メール作成したときのパスワード`
const transporter = nodemailer.createTransport({
pool: true,
host: 'mail**.onamae.ne.jp',
port: 465,
secure: true,
auth: {
user: mailAddress,
pass: password
}
})
// ここから追加
const mailOptions = {
from: mailAddress,
to: data.to,
subject: 'タイトル',
html: `
<p>${data.name} 様</p>
<p>メールを受け取りました</p>
<p>本メールへの返信によるご質問は承っておりません。</p>
<p>今後とも何卒よろしくお願いいたします。</p>
<p>メール送信者より</p>
`
}
return transporter.sendMail(mailOptions, (erro, info) => {
if (erro) {
return {
error: erro.toString(),
message: 'To send mail is failed'
}
}
return {
message: 'To send mail is successed'
}
})
})
このようにしてメールを送信する関数を作成することができました!
後は呼び出して送信するだけ!!
メール送信##
const sendMailFunc = this.$function.httpsCallable('sendContactMail')
sendMailFunc({
to: 'akki@gmail.com'
name: 'akki'
})
これで実際にメールが届いたら成功です!
ただし、メールサーバーを作成したばかりだとメールが届かない場合があります。
なので、2日ほど開けてからまた実行して見て下さい!
以上、「お名前ドットコムで登録したメールサーバーと「nodeemailer」を連携させてみた」でした!
また、何か間違っていることがあればご指摘頂けると幸いです。
他にも初心者さん向けに記事を投稿しているので、時間があれば他の記事も見て下さい!!
あと、最近「ココナラ」で環境構築のお手伝いをするサービスを始めました。
気になる方はぜひ一度ご相談ください!
Thank you for reading