Project

General

Profile

Actions

Feature #289

closed

SMTP送信エラー対応

Added by 關山 和丈 about 1 month ago. Updated 14 days ago.

Status:
Closed
Priority:
Normal
Assignee:
Start date:
03/14/2026
Due date:
03/21/2026
% Done:

0%

Estimated time:
4:00 h

Description

【SMTP送信エラーについて】

■ エラーメッセージ

554 5.7.1 ... Client host rejected: Access denied

■ Action mailer設定

 config.action_mailer.smtp_settings = {
  address: "sv13394.xserver.jp",
  domain: "yakuzaiko.com",
  port: 587,
  user_name: Rails.application.config.x.smtp[:user_name],
  password: Rails.application.config.x.smtp[:password],
  authentication: :login
 }

■ エラー発生タイミング

予製アラートメール送信時(PredispensingAlertMailer)
Heroku Scheduler経由で実行されるJob内 (Heroku管理画面にて自動コマンド実行)

■ 現在の設定

SMTPサーバー: sv13394.xserver.jp
ドメイン: yakuzaiko.co.jp
認証情報: 環境変数から取得(PROD_SMTP_USER_NAME, PROD_SMTP_PASSWORD)

■ 確認済み事項

認証情報(user_name, password)は正しく設定されています
ローカル環境でletter_opener_web利用時は問題なし
エラーはHerokuからの接続時のみ発生

■ 自身の見解
XserverのSMTP認証の国外アクセス制限をOFFにするとメール送信できるようになるのですが、セキュリティ面における懸念とIPが動的に変化するHerokuにおいて、直接XserverのSMTPを使うのは難しそうだと判断

■ エラーログ(詳細)

PredispensingAlertEmailSender failed (overdue): 
pharmacy_id=2 
email=kazutake.sekiyama@yakuzaiko.co.jp 
error=Net::SMTPFatalError 
message=554 5.7.1 <ec2-18-234-63-155.compute-1.amazonaws.com[18.234.63.155]>: Client host rejected: Access denied

■ 検討していた対処法
SendGrid へのアドオン / AWS SES などのメールサービスを使う
https://elements.heroku.com/addons/sendgrid

下記 PRも添付
https://github.com/yakuzaiko/nsips-api/pull/206/changes/b2569125c0f93a2b4f8507fad21de68ad4d07d89

Actions #1

Updated by 關山 和丈 14 days ago

Heroku(東京リージョンがない)に伴うエラーAmazon SES 導入で解消

Actions #2

Updated by 關山 和丈 14 days ago

  • Status changed from New to Closed
Actions

Also available in: Atom PDF