Actions
Feature #289
closedSMTP送信エラー対応
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