##// END OF EJS Templates
Fixed: reminder mails are not sent when delivery_method is :async_smtp (#5058)....
Fixed: reminder mails are not sent when delivery_method is :async_smtp (#5058). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9367 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r9233:fde9c7315ac6
r9233:fde9c7315ac6
Show More
mailer.rb
498 lines | 19.8 KiB | text/x-ruby | RubyLexer
Jean-Philippe Lang
Adds email notifications support for news comments (#2074)....
r4883 # Redmine - project management software
# Copyright (C) 2006-2011 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
Mailer:...
r864 include ActionController::UrlWriter
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
h = Setting.host_name
h = h.to_s.gsub(%r{\/.*$}, '') unless Redmine::Utils.relative_url_root.blank?
{ :host => h, :protocol => Setting.protocol }
end
Toshi MARUYAMA
remove trailing white-spaces from mailer model source....
r5696
Eric Davis
Added some RDoc documentation for some models....
r2536 # Builds a tmail object used to email recipients of the added issue.
#
# Example:
# issue_add(issue) => tmail object
# Mailer.deliver_issue_add(issue) => 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
Host setting should contain the path prefix (Redmine base URL) to properly generate links in emails that are sent offline (#2122)....
r1987 recipients issue.recipients
Jean-Philippe Lang
Adds watchers selection on new issue form (#398). Permission 'add issue watchers' required....
r2162 cc(issue.watcher_recipients - @recipients)
Jean-Philippe Lang
Display the issue status in the email subject only if the status was actually changed....
r1065 subject "[#{issue.project.name} - #{issue.tracker.name} ##{issue.id}] (#{issue.status.name}) #{issue.subject}"
Jean-Philippe Lang
Mailer:...
r864 body :issue => issue,
:issue_url => url_for(:controller => 'issues', :action => 'show', :id => issue)
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 render_multipart('issue_add', body)
Jean-Philippe Lang
added svn:eol-style native property on /app files...
r330 end
Eric Davis
Added some RDoc documentation for some models....
r2536 # Builds a tmail object used to email recipients of the edited issue.
#
# Example:
# issue_edit(journal) => tmail object
# Mailer.deliver_issue_edit(journal) => 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
Mailer:...
r864 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
Mailer:...
r864 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
subject s
Jean-Philippe Lang
Mailer:...
r864 body :issue => issue,
:journal => journal,
Jean-Philippe Lang
Makes the link in an issue update notification point to the change (#9690)....
r7910 :issue_url => url_for(:controller => 'issues', :action => 'show', :id => issue, :anchor => "change-#{journal.id}")
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773
render_multipart('issue_edit', body)
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
recipients user.mail
Eric Davis
Show the number of days in the subject line of Reminder emails....
r3793 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 body :issues => issues,
:days => days,
Toshi MARUYAMA
code layout clean up of reminder() at app/models/mailer.rb...
r7347 :issues_url => url_for(:controller => 'issues', :action => 'index',
:set_filter => 1, :assigned_to_id => user.id,
:sort => 'due_date:asc')
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 render_multipart('reminder', body)
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
Eric Davis
Added some RDoc documentation for some models....
r2536 # Builds a tmail object used to email users belonging to the added document's project.
#
# Example:
# document_added(document) => tmail object
# Mailer.deliver_document_added(document) => 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
Make sure users don't get notified for thing they can not view (#3589)....
r3055 recipients document.recipients
Jean-Philippe Lang
Don't use #delete on String in Mailer....
r9117 @author = User.current
Jean-Philippe Lang
Mailer:...
r864 subject "[#{document.project.name}] #{l(:label_document_new)}: #{document.title}"
body :document => document,
:document_url => url_for(:controller => 'documents', :action => 'show', :id => document)
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 render_multipart('document_added', body)
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
Eric Davis
Added some RDoc documentation for some models....
r2536 # Builds a tmail object used to email recipients of a project when an attachements are added.
#
# Example:
# attachments_added(attachments) => tmail object
# Mailer.deliver_attachments_added(attachments) => 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
Fixed: no email notification on new project/version file added (#4966)....
r3418 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
Fixed: no email notification on new project/version file added (#4966)....
r3418 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
Make sure users don't get notified for thing they can not view (#3589)....
r3055 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
Mailer:...
r864 subject "[#{container.project.name}] #{l(:label_attachment_new)}"
body :attachments => attachments,
:added_to => added_to,
:added_to_url => added_to_url
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 render_multipart('attachments_added', body)
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
Eric Davis
Added some RDoc documentation for some models....
r2536 # Builds a tmail object used to email recipients of a news' project when a news item is added.
#
# Example:
# news_added(news) => tmail object
# Mailer.deliver_news_added(news) => 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
Make sure users don't get notified for thing they can not view (#3589)....
r3055 recipients news.recipients
Jean-Philippe Lang
Mailer:...
r864 subject "[#{news.project.name}] #{l(:label_news)}: #{news.title}"
body :news => news,
:news_url => url_for(:controller => 'news', :action => 'show', :id => news)
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 render_multipart('news_added', body)
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
Jean-Philippe Lang
Adds email notifications support for news comments (#2074)....
r4883 # Builds a tmail object used to email recipients of a news' project when a news comment is added.
#
# Example:
# news_comment_added(comment) => tmail object
# 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
recipients news.recipients
cc news.watcher_recipients
subject "Re: [#{news.project.name}] #{l(:label_news)}: #{news.title}"
body :news => news,
:comment => comment,
:news_url => url_for(:controller => 'news', :action => 'show', :id => news)
render_multipart('news_comment_added', body)
end
Jean-Philippe Lang
Mailer:...
r864
Toshi MARUYAMA
remove trailing white-spaces from mailer model source....
r5696 # Builds a tmail object used to email the recipients of the specified message that was posted.
Eric Davis
Added some RDoc documentation for some models....
r2536 #
# Example:
Jean-Philippe Lang
Make sure users don't get notified for thing they can not view (#3589)....
r3055 # message_posted(message) => tmail object
# Mailer.deliver_message_posted(message) => sends an email to the recipients
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
Make sure users don't get notified for thing they can not view (#3589)....
r3055 recipients(message.recipients)
cc((message.root.watcher_recipients + message.board.watcher_recipients).uniq - @recipients)
Jean-Philippe Lang
Accept replies to forum messages by subject recognition (#1616)....
r2292 subject "[#{message.board.project.name} - #{message.board.name} - msg#{message.root.id}] #{message.subject}"
Jean-Philippe Lang
Mailer:...
r864 body :message => message,
Jean-Philippe Lang
Fixed: Links in Forum mails should redirect to message, not topic (#4884)....
r3344 :message_url => url_for(message.event_url)
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 render_multipart('message_posted', body)
Jean-Philippe Lang
Mailer:...
r864 end
Toshi MARUYAMA
remove trailing white-spaces from mailer model source....
r5696
# Builds a tmail 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:
Jean-Philippe Lang
Fixes code comments....
r2657 # wiki_content_added(wiki_content) => tmail object
# Mailer.deliver_wiki_content_added(wiki_content) => 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
Make sure users don't get notified for thing they can not view (#3589)....
r3055 recipients wiki_content.recipients
Jean-Philippe Lang
Ability to watch a wiki or a single wiki page (#413)....
r2666 cc(wiki_content.page.wiki.watcher_recipients - recipients)
Eric Davis
Refactor: use :id instead of :page when linking to Wiki Pages...
r4182 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 body :wiki_content => wiki_content,
Toshi MARUYAMA
code layout clean up of wiki_content_added() at app/models/mailer.rb...
r7343 :wiki_content_url => url_for(:controller => 'wiki', :action => 'show',
:project_id => wiki_content.project,
:id => wiki_content.page.title)
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 render_multipart('wiki_content_added', body)
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
# Builds a tmail 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:
# wiki_content_updated(wiki_content) => tmail object
# Mailer.deliver_wiki_content_updated(wiki_content) => sends an email to the project's recipients
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
Make sure users don't get notified for thing they can not view (#3589)....
r3055 recipients wiki_content.recipients
Jean-Philippe Lang
Ability to watch a wiki or a single wiki page (#413)....
r2666 cc(wiki_content.page.wiki.watcher_recipients + wiki_content.page.watcher_recipients - recipients)
Eric Davis
Refactor: use :id instead of :page when linking to Wiki Pages...
r4182 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 body :wiki_content => wiki_content,
Toshi MARUYAMA
code layout clean up of wiki_content_updated() at app/models/mailer.rb...
r7344 :wiki_content_url => url_for(:controller => 'wiki', :action => 'show',
:project_id => wiki_content.project,
:id => wiki_content.page.title),
:wiki_diff_url => url_for(:controller => 'wiki', :action => 'diff',
:project_id => wiki_content.project, :id => wiki_content.page.title,
:version => wiki_content.version)
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 render_multipart('wiki_content_updated', body)
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
Eric Davis
Added some RDoc documentation for some models....
r2536 # Builds a tmail object used to email the specified user their account information.
#
# Example:
# account_information(user, password) => tmail object
# Mailer.deliver_account_information(user, password) => sends account information to the user
Jean-Philippe Lang
Mailer:...
r864 def account_information(user, password)
set_language_if_valid user.language
recipients user.mail
Jean-Philippe Lang
Remove hardcoded "Redmine" strings in account related emails. And use application title instead....
r1239 subject l(:mail_subject_register, Setting.app_title)
Jean-Philippe Lang
Mailer:...
r864 body :user => user,
:password => password,
:login_url => url_for(:controller => 'account', :action => 'login')
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 render_multipart('account_information', body)
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
Eric Davis
Added some RDoc documentation for some models....
r2536 # Builds a tmail object used to email all active administrators of an account activation request.
#
# Example:
# account_activation_request(user) => tmail object
# Mailer.deliver_account_activation_request(user)=> 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
Replaces User.find_active with a named scope....
r2077 recipients User.active.find(:all, :conditions => {:admin => true}).collect { |u| u.mail }.compact
Jean-Philippe Lang
Remove hardcoded "Redmine" strings in account related emails. And use application title instead....
r1239 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 body :user => user,
Toshi MARUYAMA
code layout clean up of account_activation_request() at app/models/mailer.rb...
r7345 :url => url_for(:controller => 'users', :action => 'index',
:status => User::STATUS_REGISTERED,
:sort_key => 'created_on', :sort_order => 'desc')
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 render_multipart('account_activation_request', body)
Jean-Philippe Lang
There's now 3 account activation strategies (available in application settings):...
r902 end
Jean-Philippe Lang
Mailer:...
r864
Eric Davis
Added some RDoc documentation for some models....
r2536 # Builds a tmail object used to email the specified user that their account was activated by an administrator.
#
# Example:
# account_activated(user) => tmail object
# Mailer.deliver_account_activated(user) => 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
recipients user.mail
subject l(:mail_subject_register, Setting.app_title)
body :user => user,
:login_url => url_for(:controller => 'account', :action => 'login')
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 render_multipart('account_activated', body)
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
Mailer:...
r864 recipients token.user.mail
Jean-Philippe Lang
Remove hardcoded "Redmine" strings in account related emails. And use application title instead....
r1239 subject l(:mail_subject_lost_password, Setting.app_title)
Jean-Philippe Lang
Mailer:...
r864 body :token => token,
:url => url_for(:controller => 'account', :action => 'lost_password', :token => token.value)
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 render_multipart('lost_password', body)
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
Mailer:...
r864 recipients token.user.mail
Jean-Philippe Lang
Remove hardcoded "Redmine" strings in account related emails. And use application title instead....
r1239 subject l(:mail_subject_register, Setting.app_title)
Jean-Philippe Lang
Mailer:...
r864 body :token => token,
Jean-Philippe Lang
There's now 3 account activation strategies (available in application settings):...
r902 :url => url_for(:controller => 'account', :action => 'activate', :token => token.value)
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 render_multipart('register', body)
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
Mailer:...
r864 recipients user.mail
subject 'Redmine test'
body :url => url_for(:controller => 'welcome')
Jean-Philippe Lang
Renamed Mailer#test to Mailer#test_email....
r8960 render_multipart('test_email', body)
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
Adds Message-Id and References headers to email notifications so that issues and messages threads can be displayed by email clients (#1401)....
r2279 # Set Message-Id and References
if @message_id_object
mail.message_id = self.class.message_id_for(@message_id_object)
end
if @references_objects
mail.references = @references_objects.collect {|o| self.class.message_id_for(o)}
end
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)
Eric Davis
Added a users options to the reminders email...
r4053 # * :users => array of user 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
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|
Jean-Philippe Lang
Do not send reminders to locked users (#5773)....
r5105 deliver_reminder(assignee, issues, days) if assignee && 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_(.+)$})
ActionMailer::Base.delivery_method = m[1].to_sym
end
yield
ensure
ActionMailer::Base.delivery_method = saved_method
end
Jean-Philippe Lang
Mailer:...
r864 private
def initialize_defaults(method_name)
super
Jean-Philippe Lang
Fixed: email notifications may affect language of notices on the UI (#4086)....
r3193 @initial_language = current_language
Jean-Philippe Lang
Mailer:...
r864 set_language_if_valid Setting.default_language
from Setting.mail_from
Toshi MARUYAMA
remove trailing white-spaces from mailer model source....
r5696
Jean-Philippe Lang
Add the following headers to email notifications (#830, #247):...
r1250 # Common headers
headers 'X-Mailer' => 'Redmine',
'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
Replaces List-Id header with Precedence and Auto-Submitted headers (#2984, #2879)....
r2566 'Auto-Submitted' => 'auto-generated'
Jean-Philippe Lang
Add the following headers to email notifications (#830, #247):...
r1250 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
Add the following headers to email notifications (#830, #247):...
r1250 # Appends a Redmine header field (name is prepended with 'X-Redmine-')
def redmine_headers(h)
Toshi MARUYAMA
Rails3: model: mailer: use .to_s at redmine_headers method...
r8348 h.each { |k,v| headers["X-Redmine-#{k}"] = v.to_s }
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
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 # Overrides the create_mail method
Jean-Philippe Lang
Added an option on 'My account' for users who don't want to be notified of changes that they make....
r886 def create_mail
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]
if recipients
recipients((recipients.is_a?(Array) ? recipients : [recipients]) - [@author.mail])
end
if cc
cc((cc.is_a?(Array) ? cc : [cc]) - [@author.mail])
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 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
Log info when sending an email notification....
r3241 notified_users = [recipients, cc].flatten.compact.uniq
# Rails would log recipients only, not cc and bcc
mylogger.info "Sending email notification to: #{notified_users.join(', ')}" if mylogger
Toshi MARUYAMA
remove trailing white-spaces from mailer model source....
r5696
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
Log info when sending an email notification....
r3241 bcc(notified_users)
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 recipients []
cc []
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 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
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 # Rails 2.3 has problems rendering implicit multipart messages with
# layouts so this method will wrap an multipart messages with
# explicit parts.
#
# https://rails.lighthouseapp.com/projects/8994/tickets/2338-actionmailer-mailer-views-and-content-type
# https://rails.lighthouseapp.com/projects/8994/tickets/1799-actionmailer-doesnt-set-template_format-when-rendering-layouts
Toshi MARUYAMA
remove trailing white-spaces from mailer model source....
r5696
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 def render_multipart(method_name, body)
Jean-Philippe Lang
Sets proper content type for plain text mails (#3970)....
r2847 if Setting.plain_text_mail?
content_type "text/plain"
Toshi MARUYAMA
Rails3: mail: rename app/views/mailer/*.text.plain.rhtml to app/views/mailer/*.text.erb (#6317)...
r7416 body render(:file => "#{method_name}.text.erb",
Toshi MARUYAMA
code layout clean up of render_multipart() at app/models/mailer.rb...
r7346 :body => body,
Toshi MARUYAMA
Rails3: mail: rename app/views/layouts/mailer.text.plain.erb to app/views/layouts/mailer.text.erb (#6317)...
r7414 :layout => 'mailer.text.erb')
Jean-Philippe Lang
Sets proper content type for plain text mails (#3970)....
r2847 else
content_type "multipart/alternative"
Toshi MARUYAMA
code layout clean up of render_multipart() at app/models/mailer.rb...
r7346 part :content_type => "text/plain",
Toshi MARUYAMA
Rails3: mail: rename app/views/mailer/*.text.plain.rhtml to app/views/mailer/*.text.erb (#6317)...
r7416 :body => render(:file => "#{method_name}.text.erb",
Toshi MARUYAMA
Rails3: mail: rename app/views/layouts/mailer.text.plain.erb to app/views/layouts/mailer.text.erb (#6317)...
r7414 :body => body, :layout => 'mailer.text.erb')
Toshi MARUYAMA
code layout clean up of render_multipart() at app/models/mailer.rb...
r7346 part :content_type => "text/html",
Toshi MARUYAMA
Rails3: mail: rename app/views/mailer/*.text.html.rhtml to app/views/mailer/*.html.erb (#6317)...
r7417 :body => render_message("#{method_name}.html.erb", body)
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 2.0 compatibility changes....
r962 # Makes partial rendering work with Rails 1.2 (retro-compatibility)
def self.controller_path
''
end unless respond_to?('controller_path')
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?
"<#{hash}@#{host}>"
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 private
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
# Patch TMail so that message_id is not overwritten
module TMail
class Mail
def add_message_id( fqdn = nil )
self.message_id ||= ::TMail::new_message_id(fqdn)
end
end
Jean-Philippe Lang
Initial commit...
r2 end