【运维】Redmine4.0.3配置邮件通知

本文详细介绍了如何在Redmine4.0.3中配置邮件通知功能,包括创建配置文件、编译configuration.yml、设置SMTP参数、重启Redmine服务以及在管理页面完成最后设置的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Redmine4.0.3配置邮件通知

  • Redmine默认未开启邮件通知,需要进行额外的配置。
配置方法
  • 创建配置文件(redmine/config/configuration.yml)。一般在config文件下有一个configuration.yml.example文件,该文件是Reminde提供的例子,直接将copy一份即可。
cd ~/reminde/config/
cp configuration.yml.example configuration.yml
  • 编译configuration.yml
 email_delivery:
    delivery_method: :smtp
    smtp_settings:
      ssl: true  #使用SSL
      address: "smtp.xxx.com"
      port: xxx  #端口号
      authentication: :login
      domain: 'smtp.xxx.com'
      user_name: "linduo@xxx.com"  #账户
      password: "xxxxxx"  #密码
  • 重启Redmine
sudo -s
# 直接kill调redmine进程号即可
kill xxx
# 在redmine根目录输入重启命令 3000为端口号,根据实际情况修改
 ruby bin/rails server webrick -e production -b 0.0.0.0 -p 3000
  • Remind管理页面设置邮件通知。例如,进入remind下述地址:
    http://192.168.xxx.xxx:3000/settings?tab=notifications。然后点击该页面底部“发送测试邮件”进行测试。
# 将邮件发送人地址配置成
linduo@xxx.com
备注
  • Redmine4.0开始。Redmine默认采用的邮件发送方式,都是单独发送。假设,一封邮件需要给10个人发送邮件。会一个人一个人,依次发送。而不是,一封邮件群发10个人。关于这个,有兴趣的可以查看(redmine/app/models/mailer.rb)这个文件,里面定义了邮件通知的方法。
# 以下内容摘自 redmine/app/models/mailer.rb
def self.deliver_issue_edit(journal)
  users  = journal.notified_users | journal.notified_watchers
  users.select! do |user|
    journal.notes? || journal.visible_details(user).any?
  end
  # 依次发送
  users.each do |user|
    issue_edit(user, journal).deliver_later
  end
end

# issue_edit接口实现
def issue_edit(user, journal)
  issue = journal.journalized
  redmine_headers 'Project' => issue.project.identifier,
                  'Issue-Id' => issue.id,
                  'Issue-Author' => issue.author.login
  redmine_headers 'Issue-Assignee' => issue.assigned_to.login if issue.assigned_to
  message_id journal
  references issue
  @author = journal.user
  s = "[#{issue.project.name} - #{issue.tracker.name} ##{issue.id}] "
  s << "(#{issue.status.name}) " if journal.new_value_for('status_id')
  s << issue.subject
  @issue = issue
  @user = user
  @journal = journal
  @journal_details = journal.visible_details
  @issue_url = url_for(:controller => 'issues', :action => 'show', :id => issue, :anchor => "change-#{journal.id}")
  # 发送邮件
  mail :to => user,
    :subject => s
end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林多

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值