app/models/mail_manager/mailer.rb in mail_manager-3.2.7 vs app/models/mail_manager/mailer.rb in mail_manager-3.2.22.0
- old
+ new
@@ -51,11 +51,11 @@
class << self
# send a mailing related to the message's data
def deliver_message(message, cached_parts=nil)
cached_parts ||= message.parts
self.send_mail(message.subject,message.email_address_with_name,message.from_email_address,
- cached_parts,message.guid,message.mailing.include_images?)
+ cached_parts,message.guid,message.mailing.include_images?,message.unsubscribe_url)
end
# create mailing; parsing html sources for images to attach/include
def multipart_with_inline_images(subject,to_email_address,from_email_address,the_parts,message_id=nil,include_images=true)
text_source = the_parts.first[1];nil
@@ -106,19 +106,22 @@
end
mail
end
# send the mailing with the given subject, addresses, and parts
- def send_mail(subject,to_email_address,from_email_address,the_parts,message_id=nil,include_images=true)
+ def send_mail(subject,to_email_address,from_email_address,the_parts,message_id=nil,include_images=true,unsubscribe_url=nil)
include_images = (include_images and !MailManager.dont_include_images_domains.detect{|domain|
to_email_address.strip =~ /#{domain}>?$/})
mail = if include_images
multipart_with_inline_images(subject,to_email_address,from_email_address,the_parts,message_id,include_images)
else
multipart_alternative_without_images(subject,to_email_address,from_email_address,the_parts,message_id,include_images)
end
mail.header['Return-Path'] = MailManager.bounce['email_address']
mail.header['X-Bounce-Guid'] = message_id if message_id
+ unsubscribe_header = "<mailto:#{MailManager.bounce['email_address']}?subject=unsubscribe%20from%20#{message_id}>"
+ unsubscribe_header += ",<#{unsubscribe_url}>" if unsubscribe_url.present?
+ mail.header['List-Unsubscribe'] = unsubscribe_header
set_mail_settings(mail)
mail.deliver!
Rails.logger.info "Sent mail to: #{to_email_address}"
Rails.logger.debug mail.to_s
end