1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
# models/contact_mailer.rb:
# Sends contact form mails.
#
# Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved.
# Email: francis@mysociety.org; WWW: http://www.mysociety.org/
class ContactMailer < ApplicationMailer
# Send message to administrator
def to_admin_message(name, email, subject, message, logged_in_user, last_request, last_body)
@message, @logged_in_user, @last_request, @last_body = message, logged_in_user, last_request, last_body
mail(:from => "#{name} <#{email}>",
:to => contact_from_name_and_email,
:subject => subject)
end
# We always set Reply-To when we set Return-Path to be different from From,
# since some email clients seem to erroneously use the envelope from when
# they shouldn't, and this might help. (Have had mysterious cases of a
# reply coming in duplicate from a public body to both From and envelope
# from)
# Send message to another user
def user_message(from_user, recipient_user, from_user_url, subject, message)
@message, @from_user, @recipient_user, @from_user_url = message, from_user, recipient_user, from_user_url
# Do not set envelope from address to the from_user, so they can't get
# someone's email addresses from transitory bounce messages.
headers('Return-Path' => blackhole_email, 'Reply-To' => from_user.name_and_email)
mail(:from => from_user.name_and_email,
:to => recipient_user.name_and_email,
:subject => subject)
end
# Send message to a user from the administrator
def from_admin_message(recipient_user, subject, message)
@message, @from_user, @recipient_user = message, contact_from_name_and_email, recipient_user
mail(:from => contact_from_name_and_email,
:to => recipient_user.name_and_email,
:bcc => Configuration::contact_email,
:subject => subject)
end
end
|