I tried a couple of things first:
- Tried using gmail_smtp addon, got weird error about it only being
available to beta testers.
- Tried setting up my own actionmailer entries in environment.rb, but
as Heroku uses ruby 1.8.6, it blows up on needing to send tls-start
first. Requires lots of work to get this to run with gmail.
- Added the sendgrid addon at Heroku, removed all actionmailer info in
environment.rb.
I made NO chages to my app to do anything with mailer. heroku says
that you have to furnish a from address.
So I changed Models/UserMailer.rb to look like this:
class UserMailer < ActionMailer::Base
def forgot_password(user, key)
host = Hobo::Controller.request_host
app_name = Hobo::Controller.app_name || host
@subject = "#{app_name} -- forgotten password"
@body = { :user => user, :key => key, :host =>
host, :app_name => app_name }
@recipients = user.email_address
@from = "[email protected]" #hard coded instead of
hobo generated.
@sent_on = Time.now
@headers = {}
end
Ran from heroku console:
>> l = User.find(2)
=> #<User id: 2, crypted_password: nil, salt: nil, remember_token:
nil, remember_token_expires_at: nil, name: "L Porter", email_address:
"[email protected]", administrator: true, created_at: "2010-01-31
22:08:00", updated_at: "2010-01-31 23:45:49", state: "active",
key_timestamp: "2010-01-31 23:45:49">
>> UserMailer.deliver_forgot_password(l,"foo")
Net::SMTPAuthenticationError: 535 5.7.8 Error: authentication failed:
generic failure
>> exit
I'm getting this traceback in my heroku log:
Processing UsersController#forgot_password (for 24.149.54.195 at
2010-01-31 15:10:56) [POST]
Parameters: {"page_path"=>"users/forgot_password",
"action"=>"forgot_password", "authenticity_token"=>"cant tell you",
"controller"=>"users", "email_address"=>"[email protected]"}
Sent mail to [email protected]
Net::SMTPAuthenticationError (535 5.7.8 Error: authentication failed:
generic failure
):
/usr/local/lib/ruby/1.8/net/smtp.rb:576:in `auth_plain'
/usr/local/lib/ruby/1.8/net/smtp.rb:570:in `__send__'
/usr/local/lib/ruby/1.8/net/smtp.rb:570:in `authenticate'
/usr/local/lib/ruby/1.8/net/smtp.rb:410:in `do_start'
/usr/local/lib/ruby/1.8/net/smtp.rb:377:in `start'
app/models/user.rb:28
hobo (0.9.106) lib/hobo/lifecycles/actions.rb:78:in `instance_eval'
hobo (0.9.106) lib/hobo/lifecycles/actions.rb:78:in `fire_event'
hobo (0.9.106) lib/hobo/lifecycles/transition.rb:51:in `run!'
hobo (0.9.106) lib/hobo/permissions.rb:171:in `with_acting_user'
hobo (0.9.106) lib/hobo/lifecycles/transition.rb:47:in `run!'
hobo (0.9.106) lib/hobo/lifecycles/lifecycle.rb:129:in `transition'
(eval):3:in `request_password_reset!'
hobo (0.9.106) lib/hobo/user_controller.rb:144:in
`hobo_forgot_password'
hobo (0.9.106) lib/hobo/user_controller.rb:45:in `forgot_password'
hobo (0.9.106) lib/hobo/controller.rb:23:in `call'
hobo (0.9.106) lib/hobo/controller.rb:23:in `included_in_class'
/home/heroku_rack/lib/static_assets.rb:9:in `call'
/home/heroku_rack/lib/last_access.rb:25:in `call'
/home/heroku_rack/lib/date_header.rb:14:in `call'
thin (1.0.1) lib/thin/connection.rb:80:in `pre_process'
thin (1.0.1) lib/thin/connection.rb:78:in `catch'
thin (1.0.1) lib/thin/connection.rb:78:in `pre_process'
thin (1.0.1) lib/thin/connection.rb:57:in `process'
thin (1.0.1) lib/thin/connection.rb:42:in `receive_data'
eventmachine (0.12.6) lib/eventmachine.rb:240:in `run_machine'
eventmachine (0.12.6) lib/eventmachine.rb:240:in `run'
thin (1.0.1) lib/thin/backends/base.rb:57:in `start'
thin (1.0.1) lib/thin/server.rb:150:in `start'
thin (1.0.1) lib/thin/controllers/controller.rb:80:in `start'
thin (1.0.1) lib/thin/runner.rb:173:in `send'
thin (1.0.1) lib/thin/runner.rb:173:in `run_command'
thin (1.0.1) lib/thin/runner.rb:139:in `run!'
thin (1.0.1) bin/thin:6
/usr/local/bin/thin:20:in `load'
/usr/local/bin/thin:20
Rendering /disk1/home/slugs/124604_f0083be_dc42/mnt/public/500.html
(500 Internal Server Error)
Anyone else seen this?
Tom P.
--
You received this message because you are subscribed to the Google Groups
"Heroku" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/heroku?hl=en.