问题描述
我需要在我的插件中更改 redmine 邮件程序的这种行为: class Mailer
expand.grid(a = x$x,b = x$x)
我需要为一个特殊项目从我的插件中更改“From”值,而无需重写 redmine 源。可能吗?
我尝试这样的 redmine 补丁:
def mail(headers={},&block)
headers.reverse_merge! 'X-Mailer' => 'Redmine','X-Redmine-Host' => Setting.host_name,'X-Redmine-Site' => Setting.app_title,'X-Auto-Response-Suppress' => 'All','Auto-Submitted' => 'auto-generated','From' => Setting.mail_from,'List-Id' => "<#{Setting.mail_from.to_s.tr('@','.')}>"
但没有成功...
require_dependency 'mailer'
module MyPlugin
module Patches
module MailerPatch
def self.included(base)
base.send(:prepend,InstanceMethods)
base.send(:extend,ClassMethods)
end
...
# Builds a mail for notifying user about an issue info required
def issue_info_required(user,journal)
@issue = journal.journalized
@journal = journal
@author = journal.user
@user = user
redmine_headers 'Project' => @issue.project.identifier,'Issue-Id' => @issue.id,'Issue-Author' => @issue.author.login,'From' => 'aaa@aaa.aa'
redmine_headers 'Issue-Assignee' => @issue.assigned_to.login if @issue.assigned_to
message_id @journal
references @issue
@journal_details = journal.visible_details
@issue_url = url_for(:controller => 'issues',:action => 'show',:id => @issue,:anchor => "change-#{@journal.id}")
subject = "Обращение #{@issue.id}. #{@issue.subject}. Запрос дополнительной информации"
mail :to => user,:subject => subject,:From => 'qqq@qqq.qq'
end
结果:
headers.reverse_merge! 'X-Mailer' => 'Redmine','.')}>"
#headers['From'] = "xxx@xxx.xx"
headers.keys.each do |k|
Rails.logger.error "--- after key: #{k} value: #{headers[k]}"
end
Rails.logger.error "---From: #{headers['From']}"
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)