Strapiで確認メールを送信する方法


  1. メールプラグインのインストール: まず、Strapiプロジェクトにメールプラグインをインストールする必要があります。これには、通常、SMTPサーバーの設定やメールテンプレートの管理などが含まれます。Strapiのドキュメントを参照して、適切なメールプラグインをインストールし、設定を行ってください。

  2. ユーザーモデルの作成: 確認メールを送信するためには、Strapiのユーザーモデルにメールフィールドを追加する必要があります。これにより、ユーザーが登録時にメールアドレスを提供できるようになります。

  3. ユーザー登録時の確認メール送信: ユーザーが登録時に確認メールを送信するには、以下の手順を実行します。

    • ユーザー登録時に、確認トークンを生成します。
    • 生成されたトークンをメールテンプレートに埋め込みます。
    • 生成されたトークンとユーザーのメールアドレスを使用して、確認メールを送信します。

以下は、Node.jsとNodemailerを使用した例です:

const nodemailer = require('nodemailer');
// メール送信関数
const sendConfirmationEmail = async (userEmail, token) => {
  const transporter = nodemailer.createTransport({
    service: 'Gmail',
    auth: {
      user: '[email protected]', // 送信元メールアドレス
      pass: 'your-email-password' // 送信元メールアドレスのパスワード
    }
  });
  const mailOptions = {
    from: '[email protected]', // 送信元メールアドレス
    to: userEmail, // ユーザーのメールアドレス
    subject: 'アカウントの確認', // メールの件名
    text: `以下のリンクをクリックしてアカウントを確認してください: ${token}` // メールの本文
  };
  await transporter.sendMail(mailOptions);
};
// ユーザーが登録されたときに確認メールを送信する
const sendConfirmationEmailOnUserRegistration = async (user) => {
  const token = generateToken(); // トークンの生成
  await sendConfirmationEmail(user.email, token); // 確認メールの送信
};
// ユーザー登録時の確認メール送信をトリガーするコード
// ユーザーが作成された後に呼び出す必要があります
sendConfirmationEmailOnUserRegistration(newUser);

この例では、Nodemailerを使用してメールを送信しています。sendConfirmationEmail関数は、ユーザーのメールアドレスと生成された確認トークンを受け取り、確認メールを送信します。sendConfirmationEmailOnUserRegistration関数は、ユーザー登録時に確認メールを送信するために使用されます。

これで、Strapiで確認メールを送信する方法がわかりました。上記のコード例を参考にして、自身のプロジェクトに適用してみてください。