Redmine 4.1.1配置ActionMailer from项无效致SMTP报错
解决Redmine 4.1.1中ActionMailer from选项不生效的SMTP问题
我之前配置Redmine邮件服务时也踩过一模一样的坑,结合你说的「Python测试凭证正常但Redmine报550权限错误」的情况,给你几个针对性的排查和解决方向:
1. 先检查Redmine后台设置是否覆盖了配置文件
这是最容易忽略的点——Redmine管理员后台的邮件设置优先级高于configuration.yml:
- 登录Redmine管理员账号,进入「管理」→「设置」→「邮件通知」
- 查看「发件人地址」字段,如果这里填的是SMTP认证用户名(和你想设置的
email@company.com不一致),就会直接覆盖yml里的配置 - 要么把这里改成
email@company.com,要么勾选「使用默认设置」(部分版本有这个选项),让配置文件的设置生效
2. 确认configuration.yml的YAML格式完全正确
YAML对缩进和格式要求极其严格,哪怕多一个少一个空格都可能导致配置不加载:
- 必须用空格缩进(绝对不能用Tab键),比如
default_options的缩进要和delivery_method保持一致(比如都是2个或4个空格) - 你贴的配置结构没问题,但可以核对下完整格式(注意端口要改成实际值,比如587或465):
production: email_delivery: default_options: from: 'email@company.com' delivery_method: :smtp smtp_settings: address: '你的SMTP服务器地址' enable_starttls_auto: true port: 587 authentication: :login user_name: '你的SMTP认证用户名' password: '你的SMTP密码' openssl_verify_mode: 'none'
3. 用初始化脚本强制锁定发件人配置
如果配置文件还是不生效,可以通过初始化脚本强制覆盖ActionMailer的默认设置:
- 进入Redmine根目录的
config/initializers文件夹,新建一个mailer_custom.rb文件 - 写入以下代码:
Rails.application.config.action_mailer.default_options = { from: 'email@company.com' }
- 重启Redmine服务(比如执行
service redmine restart,或者根据你的部署方式用Passenger/Nginx的重启命令)
4. 通过Rails控制台验证配置是否加载成功
可以直接用Redmine的控制台查看当前的邮件配置,确认是否生效:
- 登录服务器,进入Redmine根目录,执行:
RAILS_ENV=production rails console
- 在控制台输入命令查看当前发件人配置:
puts ActionMailer::Base.default_options[:from]
- 如果输出不是
email@company.com,说明配置没加载成功,回头检查格式或后台设置;如果输出正确,再测试邮件发送
5. 最后再确认SMTP服务器的权限细节
虽然你用Python测试成功了,但可以再核对两点:
- 确保Python测试时用的发件人地址和Redmine里设置的
email@company.com完全一致 - 有些SMTP服务器需要把发件邮箱添加到认证用户的「允许代发列表」里,虽然Python测试通过,但可以再和运维确认下这个配置
内容的提问来源于stack exchange,提问作者May.D
相关产品推荐
相关产品推荐

