--- /dev/null
+class UserNotify < ActionMailer::Base
+ def signup(user, password, url=nil)
+ setup_email(user)
+
+ # Email header info
+ @subject += "Welcome to #{LoginEngine.config(:app_name)}!"
+
+ # Email body substitutions
+ @body["name"] = "#{user.firstname} #{user.lastname}"
+ @body["login"] = user.login
+ @body["password"] = password
+ @body["url"] = url || LoginEngine.config(:app_url).to_s
+ @body["app_name"] = LoginEngine.config(:app_name).to_s
+ end
+
+ def forgot_password(user, url=nil)
+ setup_email(user)
+
+ # Email header info
+ @subject += "Forgotten password notification"
+
+ # Email body substitutions
+ @body["name"] = "#{user.firstname} #{user.lastname}"
+ @body["login"] = user.login
+ @body["url"] = url || LoginEngine.config(:app_url).to_s
+ @body["app_name"] = LoginEngine.config(:app_name).to_s
+ end
+
+ def change_password(user, password, url=nil)
+ setup_email(user)
+
+ # Email header info
+ @subject += "Changed password notification"
+
+ # Email body substitutions
+ @body["name"] = "#{user.firstname} #{user.lastname}"
+ @body["login"] = user.login
+ @body["password"] = password
+ @body["url"] = url || LoginEngine.config(:app_url).to_s
+ @body["app_name"] = LoginEngine.config(:app_name).to_s
+ end
+
+ def pending_delete(user, url=nil)
+ setup_email(user)
+
+ # Email header info
+ @subject += "Delete user notification"
+
+ # Email body substitutions
+ @body["name"] = "#{user.firstname} #{user.lastname}"
+ @body["url"] = url || LoginEngine.config(:app_url).to_s
+ @body["app_name"] = LoginEngine.config(:app_name).to_s
+ @body["days"] = LoginEngine.config(:delayed_delete_days).to_s
+ end
+
+ def delete(user, url=nil)
+ setup_email(user)
+
+ # Email header info
+ @subject += "Delete user notification"
+
+ # Email body substitutions
+ @body["name"] = "#{user.firstname} #{user.lastname}"
+ @body["url"] = url || LoginEngine.config(:app_url).to_s
+ @body["app_name"] = LoginEngine.config(:app_name).to_s
+ end
+
+ def setup_email(user)
+ @recipients = "#{user.email}"
+ @from = LoginEngine.config(:email_from).to_s
+ @subject = "[#{LoginEngine.config(:app_name)}] "
+ @sent_on = Time.now
+ @headers['Content-Type'] = "text/plain; charset=#{LoginEngine.config(:mail_charset)}; format=flowed"
+ end
+end