メインコンテンツまでスキップ

メール・SMTPの設定

FeedbackPulseはさまざまなトランザクションメールを送信します。適切なメール設定は以下に重要です:

  • 新規テナントへのウェルカムメール
  • チーム招待リンク
  • パスワードリセットメール
  • メールOTP確認(フィードバックフォーム用)
  • 日次・週次ダイジェスト
  • スケジュールレポート
  • 使用量アラート
  • プラン変更通知

⚙️ 設定方法

方法1:管理パネル経由(推奨)

  1. スーパー管理者としてログイン
  2. 管理者 → 設定 → メール に移動
  3. SMTPの詳細を入力
  4. テストメールを送信をクリックして確認
  5. 保存

方法2:.envファイル経由

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailgun.org
MAIL_PORT=587
MAIL_USERNAME=your_username
MAIL_PASSWORD=your_password
MAIL_ENCRYPTION=tls
[email protected]
MAIL_FROM_NAME="FeedbackPulse"

📮 プロバイダー別の設定

📧 Gmail

MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=your_app_password
MAIL_ENCRYPTION=tls

⚠️ 重要: Gmailは通常のパスワードではなく、アプリパスワードが必要です。

  1. Googleアカウントのセキュリティ に移動
  2. 2段階認証を有効化(必須)
  3. アプリパスワード → 「メール」を選択 → 生成
  4. 生成された16文字のパスワードを使用

🔴 Gmailの制限: 1日500通(個人)または2,000通(Workspace)。本番SaaSには推奨しません。

🔫 Mailgun

MAIL_HOST=smtp.mailgun.org
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=your_mailgun_smtp_password
MAIL_ENCRYPTION=tls
  1. Mailgun でサインアップ
  2. ドメインを追加 → DNSレコードを確認
  3. 送信 → ドメイン設定 → SMTPクレデンシャル に移動
  4. SMTPパスワードをコピー

📦 Amazon SES

MAIL_HOST=email-smtp.us-east-1.amazonaws.com
MAIL_PORT=587
MAIL_USERNAME=your_ses_smtp_username
MAIL_PASSWORD=your_ses_smtp_password
MAIL_ENCRYPTION=tls
  1. AWS SESコンソール に移動
  2. ドメインを確認
  3. SMTP設定 → SMTPクレデンシャルを作成 に移動
  4. 本番環境ではサンドボックスモードを解除

📨 SendGrid

MAIL_HOST=smtp.sendgrid.net
MAIL_PORT=587
MAIL_USERNAME=apikey
MAIL_PASSWORD=your_sendgrid_api_key
MAIL_ENCRYPTION=tls

💡 注: ユーザー名は文字通り apikey(メールアドレスではない)。パスワードはSendGrid APIキーです。

✉️ Postmark

MAIL_HOST=smtp.postmarkapp.com
MAIL_PORT=587
MAIL_USERNAME=your_postmark_server_api_token
MAIL_PASSWORD=your_postmark_server_api_token
MAIL_ENCRYPTION=tls

🔵 ZOHO Mail

MAIL_HOST=smtp.zoho.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=your_zoho_password
MAIL_ENCRYPTION=tls

🧪 Mailtrap(テスト専用!)

MAIL_HOST=sandbox.smtp.mailtrap.io
MAIL_PORT=587
MAIL_USERNAME=your_mailtrap_username
MAIL_PASSWORD=your_mailtrap_password
MAIL_ENCRYPTION=tls

⚠️ Mailtrapは開発・テスト専用です。 メールはMailtrapの受信ボックスに取り込まれ、実際の受信者には届きません。


🧪 メールのテスト

管理パネル経由

  1. 管理者 → 設定 → メール に移動
  2. テストメールを送信をクリック
  3. 受信ボックスを確認

コマンドライン経由

php artisan tinker
Mail::raw('Test email from FeedbackPulse', function ($message) {
$message->to('[email protected]')->subject('SMTP Test');
});

📨 FeedbackPulseが送信するメール

メールタイミング受信者
ウェルカム新規テナントが登録テナント管理者
チーム招待管理者がチームメンバーを招待招待者のメール
プラン変更サブスクリプションが変更テナント管理者
新規投稿アラート新しいフィードバックを受信テナント管理者・スタッフ
メールダイジェスト日次・週次スケジュールテナント管理者
スケジュールレポート日次・週次・月次テナント管理者
使用量アラートプラン制限の90%以上テナント管理者
パスワードリセットユーザーがリセットをリクエストリクエストしたユーザー
メール確認新規登録新規ユーザー
OTPコードOTP付きフィードバックフォームフィードバックを送信するエンドユーザー

🐛 メールのトラブルシューティング

問題解決策
メールが送信されない.env のSMTP設定を確認。SMTPなしでテストするには MAIL_MAILER=log を試す。storage/logs/laravel.log を確認。
メールがスパムに入るドメインのDNSにSPF、DKIM、DMARCレコードを追加。信頼できるSMTPプロバイダーを使用。
「接続タイムアウト」ホスティングプロバイダーによってポート587/465がブロックされている可能性があります。別のポートまたはプロバイダーを試してください。
Gmail「安全性の低いアプリ」エラー代わりにアプリパスワードを使用。上記のGmailセクションを参照。
メールの遅延QUEUE_CONNECTION=database を使用している場合、キューワーカーが実行されていることを確認。

⏭️ 次のステップ