##// END OF EJS Templates
Fixed that the reminder email excludes issues assigned to groups (#11723)....
Fixed that the reminder email excludes issues assigned to groups (#11723). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10335 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r10152:197a14a82e3e
r10152:197a14a82e3e
Show More
mailer.rb
474 lines | 18.8 KiB | text/x-ruby | RubyLexer
Jean-Philippe Lang
Adds email notifications support for news comments (#2074)....
r4883 # Redmine - project management software
Jean-Philippe Lang
Copyright update....
r9453 # Copyright (C) 2006-2012 Jean-Philippe Lang
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 #
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987 #
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987 #
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 # You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
class Mailer < ActionMailer::Base
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 layout 'mailer'
Jean-Philippe Lang
Fixed: "undefined method 'textilizable'" error on email notification when running Repository#fetch_changesets from the console....
r1153 helper :application
helper :issues
helper :custom_fields
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987
Jean-Philippe Lang
Merged Rails 2.2 branch. Redmine now requires Rails 2.2.2....
r2430 include Redmine::I18n
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987
Eric Davis
Fixing Plugin and Mailer default_url_options....
r2458 def self.default_url_options
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 { :host => Setting.host_name, :protocol => Setting.protocol }
Eric Davis
Fixing Plugin and Mailer default_url_options....
r2458 end
Toshi MARUYAMA
remove trailing white-spaces from mailer model source....
r5696
Toshi MARUYAMA
change mailer model method comments to Rails3 style...
r9480 # Builds a Mail::Message object used to email recipients of the added issue.
Eric Davis
Added some RDoc documentation for some models....
r2536 #
# Example:
Toshi MARUYAMA
change mailer model method comments to Rails3 style...
r9480 # issue_add(issue) => Mail::Message object
# Mailer.issue_add(issue).deliver => sends an email to issue recipients
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987 def issue_add(issue)
Jean-Philippe Lang
Add the following headers to email notifications (#830, #247):...
r1250 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
Jean-Philippe Lang
Adds Message-Id and References headers to email notifications so that issues and messages threads can be displayed by email clients (#1401)....
r2279 message_id issue
Jean-Philippe Lang
Adds a X-Redmine-Sender header to email notifications (#5643)....
r8665 @author = issue.author
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 @issue = issue
@issue_url = url_for(:controller => 'issues', :action => 'show', :id => issue)
recipients = issue.recipients
cc = issue.watcher_recipients - recipients
mail :to => recipients,
:cc => cc,
:subject => "[#{issue.project.name} - #{issue.tracker.name} ##{issue.id}] (#{issue.status.name}) #{issue.subject}"
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 end
Toshi MARUYAMA
change mailer model method comments to Rails3 style...
r9480 # Builds a Mail::Message object used to email recipients of the edited issue.
Eric Davis
Added some RDoc documentation for some models....
r2536 #
# Example:
Toshi MARUYAMA
change mailer model method comments to Rails3 style...
r9480 # issue_edit(journal) => Mail::Message object
# Mailer.issue_edit(journal).deliver => sends an email to issue recipients
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 def issue_edit(journal)
Jean-Philippe Lang
Fixed: Issue status in the notify email's subject is the issue's old status, should be its new status (#3194)....
r2581 issue = journal.journalized.reload
Jean-Philippe Lang
Add the following headers to email notifications (#830, #247):...
r1250 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
Jean-Philippe Lang
Adds Message-Id and References headers to email notifications so that issues and messages threads can be displayed by email clients (#1401)....
r2279 message_id journal
references issue
Jean-Philippe Lang
Fixed: email notification for changes I make still occurs when running Repository.fetch_changesets (#1957)....
r2223 @author = journal.user
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 recipients = issue.recipients
Jean-Philippe Lang
Added "Watch" functionality on issues. It allows users to receive mail notifications about issue changes....
r450 # Watchers in cc
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 cc = issue.watcher_recipients - recipients
Jean-Philippe Lang
Display the issue status in the email subject only if the status was actually changed....
r1065 s = "[#{issue.project.name} - #{issue.tracker.name} ##{issue.id}] "
s << "(#{issue.status.name}) " if journal.new_value_for('status_id')
s << issue.subject
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 @issue = issue
@journal = journal
@issue_url = url_for(:controller => 'issues', :action => 'show', :id => issue, :anchor => "change-#{journal.id}")
mail :to => recipients,
:cc => cc,
:subject => s
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 end
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987
Jean-Philippe Lang
Adds a rake task to send reminders. An email is sent to each user with a list of the issues due in the next days, if any....
r1445 def reminder(user, issues, days)
set_language_if_valid user.language
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 @issues = issues
@days = days
@issues_url = url_for(:controller => 'issues', :action => 'index',
Toshi MARUYAMA
code layout clean up of reminder() at app/models/mailer.rb...
r7347 :set_filter => 1, :assigned_to_id => user.id,
:sort => 'due_date:asc')
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 mail :to => user.mail,
:subject => l(:mail_subject_reminder, :count => issues.size, :days => days)
Jean-Philippe Lang
Adds a rake task to send reminders. An email is sent to each user with a list of the issues due in the next days, if any....
r1445 end
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987
Toshi MARUYAMA
change mailer model method comments to Rails3 style...
r9480 # Builds a Mail::Message object used to email users belonging to the added document's project.
Eric Davis
Added some RDoc documentation for some models....
r2536 #
# Example:
Toshi MARUYAMA
change mailer model method comments to Rails3 style...
r9480 # document_added(document) => Mail::Message object
# Mailer.document_added(document).deliver => sends an email to the document's project recipients
Jean-Philippe Lang
Removed translated email templates attachments_added and document_added (no longer usefull)....
r823 def document_added(document)
Jean-Philippe Lang
Add the following headers to email notifications (#830, #247):...
r1250 redmine_headers 'Project' => document.project.identifier
Jean-Philippe Lang
Don't use #delete on String in Mailer....
r9117 @author = User.current
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 @document = document
@document_url = url_for(:controller => 'documents', :action => 'show', :id => document)
mail :to => document.recipients,
:subject => "[#{document.project.name}] #{l(:label_document_new)}: #{document.title}"
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 end
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987
Toshi MARUYAMA
change mailer model method comments to Rails3 style...
r9480 # Builds a Mail::Message object used to email recipients of a project when an attachements are added.
Eric Davis
Added some RDoc documentation for some models....
r2536 #
# Example:
Toshi MARUYAMA
change mailer model method comments to Rails3 style...
r9480 # attachments_added(attachments) => Mail::Message object
# Mailer.attachments_added(attachments).deliver => sends an email to the project's recipients
Jean-Philippe Lang
Removed translated email templates attachments_added and document_added (no longer usefull)....
r823 def attachments_added(attachments)
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 container = attachments.first.container
Jean-Philippe Lang
Replaced hard-coded urls in Mailer#attachments_add...
r658 added_to = ''
Jean-Philippe Lang
Mailer:...
r864 added_to_url = ''
Jean-Philippe Lang
Don't use #delete on String in Mailer....
r9117 @author = attachments.first.author
Jean-Philippe Lang
Replaced hard-coded urls in Mailer#attachments_add...
r658 case container.class.name
Jean-Philippe Lang
Files module: makes version field non required (#1053)....
r2115 when 'Project'
Jean-Philippe Lang
Fixed links in new file notification broken by r4051 (#6590)....
r5110 added_to_url = url_for(:controller => 'files', :action => 'index', :project_id => container)
Jean-Philippe Lang
Files module: makes version field non required (#1053)....
r2115 added_to = "#{l(:label_project)}: #{container}"
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 recipients = container.project.notified_users.select {|user| user.allowed_to?(:view_files, container.project)}.collect {|u| u.mail}
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 when 'Version'
Jean-Philippe Lang
Fixed links in new file notification broken by r4051 (#6590)....
r5110 added_to_url = url_for(:controller => 'files', :action => 'index', :project_id => container.project)
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 added_to = "#{l(:label_version)}: #{container.name}"
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 recipients = container.project.notified_users.select {|user| user.allowed_to?(:view_files, container.project)}.collect {|u| u.mail}
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 when 'Document'
Jean-Philippe Lang
Mailer:...
r864 added_to_url = url_for(:controller => 'documents', :action => 'show', :id => container.id)
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 added_to = "#{l(:label_document)}: #{container.title}"
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 recipients = container.recipients
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 end
Jean-Philippe Lang
Add the following headers to email notifications (#830, #247):...
r1250 redmine_headers 'Project' => container.project.identifier
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 @attachments = attachments
@added_to = added_to
@added_to_url = added_to_url
mail :to => recipients,
:subject => "[#{container.project.name}] #{l(:label_attachment_new)}"
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 end
Toshi MARUYAMA
remove trailing white-spaces from mailer model source....
r5696
Toshi MARUYAMA
change mailer model method comments to Rails3 style...
r9480 # Builds a Mail::Message object used to email recipients of a news' project when a news item is added.
Eric Davis
Added some RDoc documentation for some models....
r2536 #
# Example:
Toshi MARUYAMA
change mailer model method comments to Rails3 style...
r9480 # news_added(news) => Mail::Message object
# Mailer.news_added(news).deliver => sends an email to the news' project recipients
Jean-Philippe Lang
Mail notification options restored (default is: issue_added and issue_updated)....
r717 def news_added(news)
Jean-Philippe Lang
Add the following headers to email notifications (#830, #247):...
r1250 redmine_headers 'Project' => news.project.identifier
Jean-Philippe Lang
Don't use #delete on String in Mailer....
r9117 @author = news.author
Jean-Philippe Lang
Adds Message-Id and References headers to email notifications so that issues and messages threads can be displayed by email clients (#1401)....
r2279 message_id news
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 @news = news
@news_url = url_for(:controller => 'news', :action => 'show', :id => news)
mail :to => news.recipients,
:subject => "[#{news.project.name}] #{l(:label_news)}: #{news.title}"
Jean-Philippe Lang
Mail notification options restored (default is: issue_added and issue_updated)....
r717 end
Toshi MARUYAMA
remove trailing white-spaces from mailer model source....
r5696
Toshi MARUYAMA
change mailer model method comments to Rails3 style...
r9480 # Builds a Mail::Message object used to email recipients of a news' project when a news comment is added.
Jean-Philippe Lang
Adds email notifications support for news comments (#2074)....
r4883 #
# Example:
Toshi MARUYAMA
change mailer model method comments to Rails3 style...
r9480 # news_comment_added(comment) => Mail::Message object
Jean-Philippe Lang
Adds email notifications support for news comments (#2074)....
r4883 # Mailer.news_comment_added(comment) => sends an email to the news' project recipients
def news_comment_added(comment)
news = comment.commented
redmine_headers 'Project' => news.project.identifier
Jean-Philippe Lang
Don't use #delete on String in Mailer....
r9117 @author = comment.author
Jean-Philippe Lang
Adds email notifications support for news comments (#2074)....
r4883 message_id comment
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 @news = news
@comment = comment
@news_url = url_for(:controller => 'news', :action => 'show', :id => news)
mail :to => news.recipients,
:cc => news.watcher_recipients,
:subject => "Re: [#{news.project.name}] #{l(:label_news)}: #{news.title}"
Jean-Philippe Lang
Adds email notifications support for news comments (#2074)....
r4883 end
Jean-Philippe Lang
Mailer:...
r864
Toshi MARUYAMA
change mailer model method comments to Rails3 style...
r9480 # Builds a Mail::Message object used to email the recipients of the specified message that was posted.
Eric Davis
Added some RDoc documentation for some models....
r2536 #
# Example:
Toshi MARUYAMA
change mailer model method comments to Rails3 style...
r9480 # message_posted(message) => Mail::Message object
# Mailer.message_posted(message).deliver => sends an email to the recipients
Jean-Philippe Lang
Make sure users don't get notified for thing they can not view (#3589)....
r3055 def message_posted(message)
Jean-Philippe Lang
Add the following headers to email notifications (#830, #247):...
r1250 redmine_headers 'Project' => message.project.identifier,
'Topic-Id' => (message.parent_id || message.id)
Jean-Philippe Lang
Don't use #delete on String in Mailer....
r9117 @author = message.author
Jean-Philippe Lang
Adds Message-Id and References headers to email notifications so that issues and messages threads can be displayed by email clients (#1401)....
r2279 message_id message
references message.parent unless message.parent.nil?
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 recipients = message.recipients
cc = ((message.root.watcher_recipients + message.board.watcher_recipients).uniq - recipients)
@message = message
@message_url = url_for(message.event_url)
mail :to => recipients,
:cc => cc,
:subject => "[#{message.board.project.name} - #{message.board.name} - msg#{message.root.id}] #{message.subject}"
Jean-Philippe Lang
Mailer:...
r864 end
Toshi MARUYAMA
remove trailing white-spaces from mailer model source....
r5696
Toshi MARUYAMA
change mailer model method comments to Rails3 style...
r9480 # Builds a Mail::Message object used to email the recipients of a project of the specified wiki content was added.
Jean-Philippe Lang
Adds email notification on wiki changes (#413). It's disabled by default and can be enabled in application settings....
r2650 #
# Example:
Toshi MARUYAMA
change mailer model method comments to Rails3 style...
r9480 # wiki_content_added(wiki_content) => Mail::Message object
# Mailer.wiki_content_added(wiki_content).deliver => sends an email to the project's recipients
Jean-Philippe Lang
Adds email notification on wiki changes (#413). It's disabled by default and can be enabled in application settings....
r2650 def wiki_content_added(wiki_content)
redmine_headers 'Project' => wiki_content.project.identifier,
'Wiki-Page-Id' => wiki_content.page.id
Jean-Philippe Lang
Don't use #delete on String in Mailer....
r9117 @author = wiki_content.author
Jean-Philippe Lang
Adds email notification on wiki changes (#413). It's disabled by default and can be enabled in application settings....
r2650 message_id wiki_content
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 recipients = wiki_content.recipients
cc = wiki_content.page.wiki.watcher_recipients - recipients
@wiki_content = wiki_content
@wiki_content_url = url_for(:controller => 'wiki', :action => 'show',
Toshi MARUYAMA
code layout clean up of wiki_content_added() at app/models/mailer.rb...
r7343 :project_id => wiki_content.project,
:id => wiki_content.page.title)
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 mail :to => recipients,
:cc => cc,
:subject => "[#{wiki_content.project.name}] #{l(:mail_subject_wiki_content_added, :id => wiki_content.page.pretty_title)}"
Jean-Philippe Lang
Adds email notification on wiki changes (#413). It's disabled by default and can be enabled in application settings....
r2650 end
Toshi MARUYAMA
remove trailing white-spaces from mailer model source....
r5696
Toshi MARUYAMA
change mailer model method comments to Rails3 style...
r9480 # Builds a Mail::Message object used to email the recipients of a project of the specified wiki content was updated.
Jean-Philippe Lang
Adds email notification on wiki changes (#413). It's disabled by default and can be enabled in application settings....
r2650 #
# Example:
Toshi MARUYAMA
change mailer model method comments to Rails3 style...
r9480 # wiki_content_updated(wiki_content) => Mail::Message object
# Mailer.wiki_content_updated(wiki_content).deliver => sends an email to the project's recipients
Jean-Philippe Lang
Adds email notification on wiki changes (#413). It's disabled by default and can be enabled in application settings....
r2650 def wiki_content_updated(wiki_content)
redmine_headers 'Project' => wiki_content.project.identifier,
'Wiki-Page-Id' => wiki_content.page.id
Jean-Philippe Lang
Don't use #delete on String in Mailer....
r9117 @author = wiki_content.author
Jean-Philippe Lang
Adds email notification on wiki changes (#413). It's disabled by default and can be enabled in application settings....
r2650 message_id wiki_content
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 recipients = wiki_content.recipients
cc = wiki_content.page.wiki.watcher_recipients + wiki_content.page.watcher_recipients - recipients
@wiki_content = wiki_content
@wiki_content_url = url_for(:controller => 'wiki', :action => 'show',
Toshi MARUYAMA
code layout clean up of wiki_content_updated() at app/models/mailer.rb...
r7344 :project_id => wiki_content.project,
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 :id => wiki_content.page.title)
@wiki_diff_url = url_for(:controller => 'wiki', :action => 'diff',
Toshi MARUYAMA
code layout clean up of wiki_content_updated() at app/models/mailer.rb...
r7344 :project_id => wiki_content.project, :id => wiki_content.page.title,
:version => wiki_content.version)
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 mail :to => recipients,
:cc => cc,
:subject => "[#{wiki_content.project.name}] #{l(:mail_subject_wiki_content_updated, :id => wiki_content.page.pretty_title)}"
Jean-Philippe Lang
Adds email notification on wiki changes (#413). It's disabled by default and can be enabled in application settings....
r2650 end
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987
Toshi MARUYAMA
change mailer model method comments to Rails3 style...
r9480 # Builds a Mail::Message object used to email the specified user their account information.
Eric Davis
Added some RDoc documentation for some models....
r2536 #
# Example:
Toshi MARUYAMA
change mailer model method comments to Rails3 style...
r9480 # account_information(user, password) => Mail::Message object
# Mailer.account_information(user, password).deliver => sends account information to the user
Jean-Philippe Lang
Mailer:...
r864 def account_information(user, password)
set_language_if_valid user.language
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 @user = user
@password = password
@login_url = url_for(:controller => 'account', :action => 'login')
mail :to => user.mail,
:subject => l(:mail_subject_register, Setting.app_title)
Jean-Philippe Lang
Mailer:...
r864 end
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987
Toshi MARUYAMA
change mailer model method comments to Rails3 style...
r9480 # Builds a Mail::Message object used to email all active administrators of an account activation request.
Eric Davis
Added some RDoc documentation for some models....
r2536 #
# Example:
Toshi MARUYAMA
change mailer model method comments to Rails3 style...
r9480 # account_activation_request(user) => Mail::Message object
# Mailer.account_activation_request(user).deliver => sends an email to all active administrators
Jean-Philippe Lang
There's now 3 account activation strategies (available in application settings):...
r902 def account_activation_request(user)
# Send the email to all active administrators
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 recipients = User.active.find(:all, :conditions => {:admin => true}).collect { |u| u.mail }.compact
@user = user
@url = url_for(:controller => 'users', :action => 'index',
Toshi MARUYAMA
code layout clean up of account_activation_request() at app/models/mailer.rb...
r7345 :status => User::STATUS_REGISTERED,
:sort_key => 'created_on', :sort_order => 'desc')
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 mail :to => recipients,
:subject => l(:mail_subject_account_activation_request, Setting.app_title)
Jean-Philippe Lang
There's now 3 account activation strategies (available in application settings):...
r902 end
Jean-Philippe Lang
Mailer:...
r864
Toshi MARUYAMA
change mailer model method comments to Rails3 style...
r9480 # Builds a Mail::Message object used to email the specified user that their account was activated by an administrator.
Eric Davis
Added some RDoc documentation for some models....
r2536 #
# Example:
Toshi MARUYAMA
change mailer model method comments to Rails3 style...
r9480 # account_activated(user) => Mail::Message object
# Mailer.account_activated(user).deliver => sends an email to the registered user
Jean-Philippe Lang
Send an email to the user when an administrator activates a registered user (#2656)....
r2422 def account_activated(user)
set_language_if_valid user.language
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 @user = user
@login_url = url_for(:controller => 'account', :action => 'login')
mail :to => user.mail,
:subject => l(:mail_subject_register, Setting.app_title)
Jean-Philippe Lang
Send an email to the user when an administrator activates a registered user (#2656)....
r2422 end
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 def lost_password(token)
set_language_if_valid(token.user.language)
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 @token = token
@url = url_for(:controller => 'account', :action => 'lost_password', :token => token.value)
mail :to => token.user.mail,
:subject => l(:mail_subject_lost_password, Setting.app_title)
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987 end
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330
def register(token)
set_language_if_valid(token.user.language)
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 @token = token
@url = url_for(:controller => 'account', :action => 'activate', :token => token.value)
mail :to => token.user.mail,
:subject => l(:mail_subject_register, Setting.app_title)
Jean-Philippe Lang
Added mail notification when a new message is posted in the forums....
r528 end
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987
Jean-Philippe Lang
Renamed Mailer#test to Mailer#test_email....
r8960 def test_email(user)
Jean-Philippe Lang
Added 'email sending test' functionality....
r629 set_language_if_valid(user.language)
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 @url = url_for(:controller => 'welcome')
mail :to => user.mail,
:subject => 'Redmine test'
Jean-Philippe Lang
Mailer:...
r864 end
Jean-Philippe Lang
Do not send an email with no recipient, cc or bcc (closes #743)....
r1160
# Overrides default deliver! method to prevent from sending an email
# with no recipient, cc or bcc
def deliver!(mail = @mail)
Jean-Philippe Lang
Fixed: email notifications may affect language of notices on the UI (#4086)....
r3193 set_language_if_valid @initial_language
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987 return false if (recipients.nil? || recipients.empty?) &&
Jean-Philippe Lang
Do not send an email with no recipient, cc or bcc (closes #743)....
r1160 (cc.nil? || cc.empty?) &&
(bcc.nil? || bcc.empty?)
Toshi MARUYAMA
remove trailing white-spaces from mailer model source....
r5696
Jean-Philippe Lang
Log email delivery errors....
r3242 # Log errors when raise_delivery_errors is set to false, Rails does not
raise_errors = self.class.raise_delivery_errors
self.class.raise_delivery_errors = true
begin
return super(mail)
rescue Exception => e
if raise_errors
raise e
elsif mylogger
Jean-Philippe Lang
Adds an application configuration file: config/configuration.yml (#7408)....
r4632 mylogger.error "The following error occured while sending email notification: \"#{e.message}\". Check your configuration in config/configuration.yml."
Jean-Philippe Lang
Log email delivery errors....
r3242 end
ensure
self.class.raise_delivery_errors = raise_errors
end
Jean-Philippe Lang
Do not send an email with no recipient, cc or bcc (closes #743)....
r1160 end
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987
Jean-Philippe Lang
Adds a rake task to send reminders. An email is sent to each user with a list of the issues due in the next days, if any....
r1445 # Sends reminders to issue assignees
# Available options:
# * :days => how many days in the future to remind about (defaults to 7)
# * :tracker => id of tracker for filtering issues (defaults to all trackers)
# * :project => id or identifier of project to process (defaults to all projects)
Jean-Philippe Lang
Fixed that the reminder email excludes issues assigned to groups (#11723)....
r10152 # * :users => array of user/group ids who should be reminded
Jean-Philippe Lang
Adds a rake task to send reminders. An email is sent to each user with a list of the issues due in the next days, if any....
r1445 def self.reminders(options={})
days = options[:days] || 7
project = options[:project] ? Project.find(options[:project]) : nil
tracker = options[:tracker] ? Tracker.find(options[:tracker]) : nil
Eric Davis
Added a users options to the reminders email...
r4053 user_ids = options[:users]
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987
Jean-Philippe Lang
Fixed that reminders are sent for closed issues (#10006)....
r8570 scope = Issue.open.scoped(:conditions => ["#{Issue.table_name}.assigned_to_id IS NOT NULL" +
Jean-Philippe Lang
Use scopes instead of ARCondition....
r7967 " AND #{Project.table_name}.status = #{Project::STATUS_ACTIVE}" +
" AND #{Issue.table_name}.due_date <= ?", days.day.from_now.to_date]
)
scope = scope.scoped(:conditions => {:assigned_to_id => user_ids}) if user_ids.present?
scope = scope.scoped(:conditions => {:project_id => project.id}) if project
scope = scope.scoped(:conditions => {:tracker_id => tracker.id}) if tracker
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987
Jean-Philippe Lang
Use scopes instead of ARCondition....
r7967 issues_by_assignee = scope.all(:include => [:status, :assigned_to, :project, :tracker]).group_by(&:assigned_to)
Jean-Philippe Lang
Fixed that the reminder email excludes issues assigned to groups (#11723)....
r10152 issues_by_assignee.keys.each do |assignee|
if assignee.is_a?(Group)
assignee.users.each do |user|
issues_by_assignee[user] ||= []
issues_by_assignee[user] += issues_by_assignee[assignee]
end
end
end
Jean-Philippe Lang
Adds a rake task to send reminders. An email is sent to each user with a list of the issues due in the next days, if any....
r1445 issues_by_assignee.each do |assignee, issues|
Toshi MARUYAMA
replace Mailer deliver syntax to Rails3 style at reminders method of mailer model...
r9479 reminder(assignee, issues, days).deliver if assignee.is_a?(User) && assignee.active?
Jean-Philippe Lang
Adds a rake task to send reminders. An email is sent to each user with a list of the issues due in the next days, if any....
r1445 end
end
Toshi MARUYAMA
remove trailing white-spaces from mailer model source....
r5696
Jean-Philippe Lang
Adds an option to enable/disable email notifications during a project copy (#4672)....
r3494 # Activates/desactivates email deliveries during +block+
def self.with_deliveries(enabled = true, &block)
was_enabled = ActionMailer::Base.perform_deliveries
ActionMailer::Base.perform_deliveries = !!enabled
yield
ensure
ActionMailer::Base.perform_deliveries = was_enabled
end
Jean-Philippe Lang
Do not send an email with no recipient, cc or bcc (closes #743)....
r1160
Jean-Philippe Lang
Fixed: reminder mails are not sent when delivery_method is :async_smtp (#5058)....
r9233 # Sends emails synchronously in the given block
def self.with_synched_deliveries(&block)
saved_method = ActionMailer::Base.delivery_method
if m = saved_method.to_s.match(%r{^async_(.+)$})
Jean-Philippe Lang
Fixed that Mailer.with_synched_deliveries does not use delivery settings (#11550)....
r9964 synched_method = m[1]
ActionMailer::Base.delivery_method = synched_method.to_sym
ActionMailer::Base.send "#{synched_method}_settings=", ActionMailer::Base.send("async_#{synched_method}_settings")
Jean-Philippe Lang
Fixed: reminder mails are not sent when delivery_method is :async_smtp (#5058)....
r9233 end
yield
ensure
ActionMailer::Base.delivery_method = saved_method
end
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 def mail(headers={})
headers.merge! 'X-Mailer' => 'Redmine',
Jean-Philippe Lang
Add the following headers to email notifications (#830, #247):...
r1250 'X-Redmine-Host' => Setting.host_name,
Jean-Philippe Lang
Adds a List-Id header to all emails (#2879)....
r2497 'X-Redmine-Site' => Setting.app_title,
Jean-Philippe Lang
Replaced non standard Precedence email header with "X-Auto-Response-Suppress: OOF" (#9534)....
r7685 'X-Auto-Response-Suppress' => 'OOF',
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 'Auto-Submitted' => 'auto-generated',
Jean-Philippe Lang
Restored List-Id header in email notifications (#10888)....
r9504 'From' => Setting.mail_from,
'List-Id' => "<#{Setting.mail_from.to_s.gsub('@', '.')}>"
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987
Jean-Philippe Lang
Don't use #delete on String in Mailer....
r9117 # Removes the author from the recipients and cc
Jean-Philippe Lang
Email notifications are now sent as Blind carbon copy by default. This can be changed in email notifications settings (new setting added)....
r931 # if he doesn't want to receive notifications about what he does
Jean-Philippe Lang
Don't use #delete on String in Mailer....
r9117 if @author && @author.logged? && @author.pref[:no_self_notified]
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 headers[:to].delete(@author.mail) if headers[:to].is_a?(Array)
headers[:cc].delete(@author.mail) if headers[:cc].is_a?(Array)
Jean-Philippe Lang
Email notifications are now sent as Blind carbon copy by default. This can be changed in email notifications settings (new setting added)....
r931 end
Toshi MARUYAMA
remove trailing white-spaces from mailer model source....
r5696
Jean-Philippe Lang
Don't use #delete on String in Mailer....
r9117 if @author && @author.logged?
Jean-Philippe Lang
Adds a X-Redmine-Sender header to email notifications (#5643)....
r8665 redmine_headers 'Sender' => @author.login
end
Jean-Philippe Lang
Email notifications are now sent as Blind carbon copy by default. This can be changed in email notifications settings (new setting added)....
r931 # Blind carbon copy recipients
if Setting.bcc_recipients?
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 headers[:bcc] = [headers[:to], headers[:cc]].flatten.uniq.reject(&:blank?)
headers[:to] = nil
headers[:cc] = nil
end
if @message_id_object
headers[:message_id] = "<#{self.class.message_id_for(@message_id_object)}>"
end
if @references_objects
headers[:references] = @references_objects.collect {|o| "<#{self.class.message_id_for(o)}>"}.join(' ')
end
super headers do |format|
format.text
format.html unless Setting.plain_text_mail?
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987 end
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346
set_language_if_valid @initial_language
end
def initialize(*args)
@initial_language = current_language
set_language_if_valid Setting.default_language
super
end
def self.deliver_mail(mail)
return false if mail.to.blank? && mail.cc.blank? && mail.bcc.blank?
Jean-Philippe Lang
Added an option on 'My account' for users who don't want to be notified of changes that they make....
r886 super
end
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 def self.method_missing(method, *args, &block)
if m = method.to_s.match(%r{^deliver_(.+)$})
Jean-Philippe Lang
Adds a deprecation warning to Mailer.deliver_*....
r9456 ActiveSupport::Deprecation.warn "Mailer.deliver_#{m[1]}(*args) is deprecated. Use Mailer.#{m[1]}(*args).deliver instead."
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 send(m[1], *args).deliver
Jean-Philippe Lang
Sets proper content type for plain text mails (#3970)....
r2847 else
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 super
Jean-Philippe Lang
Sets proper content type for plain text mails (#3970)....
r2847 end
Nicolas Chuche
add plain text option for mail #2029...
r1930 end
Jean-Philippe Lang
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 private
# Appends a Redmine header field (name is prepended with 'X-Redmine-')
def redmine_headers(h)
h.each { |k,v| headers["X-Redmine-#{k}"] = v.to_s }
end
Toshi MARUYAMA
remove trailing white-spaces from mailer model source....
r5696
Jean-Philippe Lang
Adds Message-Id and References headers to email notifications so that issues and messages threads can be displayed by email clients (#1401)....
r2279 # Returns a predictable Message-Id for the given object
def self.message_id_for(object)
# id + timestamp should reduce the odds of a collision
# as far as we don't send multiple emails for the same object
Toshi MARUYAMA
remove trailing white-spaces from mailer model source....
r5696 timestamp = object.send(object.respond_to?(:created_on) ? :created_on : :updated_on)
Jean-Philippe Lang
Adds email notification on wiki changes (#413). It's disabled by default and can be enabled in application settings....
r2650 hash = "redmine.#{object.class.name.demodulize.underscore}-#{object.id}.#{timestamp.strftime("%Y%m%d%H%M%S")}"
Jean-Philippe Lang
Adds Message-Id and References headers to email notifications so that issues and messages threads can be displayed by email clients (#1401)....
r2279 host = Setting.mail_from.to_s.gsub(%r{^.*@}, '')
host = "#{::Socket.gethostname}.redmine" if host.empty?
Jean-Philippe Lang
Merged rails-3.2 branch....
r9346 "#{hash}@#{host}"
Jean-Philippe Lang
Adds Message-Id and References headers to email notifications so that issues and messages threads can be displayed by email clients (#1401)....
r2279 end
Toshi MARUYAMA
remove trailing white-spaces from mailer model source....
r5696
Jean-Philippe Lang
Adds Message-Id and References headers to email notifications so that issues and messages threads can be displayed by email clients (#1401)....
r2279 def message_id(object)
@message_id_object = object
end
Toshi MARUYAMA
remove trailing white-spaces from mailer model source....
r5696
Jean-Philippe Lang
Adds Message-Id and References headers to email notifications so that issues and messages threads can be displayed by email clients (#1401)....
r2279 def references(object)
@references_objects ||= []
@references_objects << object
end
Toshi MARUYAMA
remove trailing white-spaces from mailer model source....
r5696
Jean-Philippe Lang
Log info when sending an email notification....
r3241 def mylogger
Toshi MARUYAMA
replace RAILS_DEFAULT_LOGGER of mylogger() to Rails.logger at app/models/mailer.rb...
r7364 Rails.logger
Jean-Philippe Lang
Log info when sending an email notification....
r3241 end
Jean-Philippe Lang
Adds Message-Id and References headers to email notifications so that issues and messages threads can be displayed by email clients (#1401)....
r2279 end