require 'simple_smtp_test/simple_smtp_test_mailer'

desc 'Tests out the email settings in the current environment' task :simple_smtp_test, [:to_email_address] => :environment do |t, args|

raise 'Error: Please provide an email address as a parameter.' if args[:to_email_address].blank?

puts "Current Mail Server Settings:"
puts "\n#{ActionMailer::Base.smtp_settings.to_yaml}\nCurrent Rails Environment: #{Rails.env}" if defined?(Rails)
puts "Preparing to send test message to #{args[:to_email_address]}..."

mailobj = SimpleSmtpTestMailer.test_email(args[:to_email_address])
mailobj.raise_delivery_errors = true
begin
  mailobj.deliver
rescue Exception => e
  puts "An error has occurred: #{e.message}"
  next
end

puts 'Message successfully sent. Please check that the test message was received.'

end