I've been hedging on when to bite the Rails 3.0 bullet, but this tipped the scales.

Two things: I've noticed a problem with the video playback in Snow Leopard QT. The screen won't refresh unless you're moving the mouse or a lot of screen elements have changed. This even happens on the older casts. Try watching the intro all the way through, for instance, and you begin talking but the screen hasn't changed. Pausing and restarting causes the screen to update. I've noticed this on upgraded OSX as well as factory installs OSX.

Second, what are you using for syntax coloring in Terminal? Do you get it free from bash? I know you mentioned it in a cast a while back but I can't remember where. Maybe you could add your development environment to the About page.

When you say you can call "deliver" later on the email...can you provide an example of this? I would be very interested in asynchronous email delivery in Rails 3. Looks like it is getting closer but would like to learn more.

Nice screencast, as always.
If I remember correctly using TMail in 2.3 we can also just call create_mailer_method to get the TMail object and call deliver on it.
The dynamic methods of 2.3 with "deliver_mailer_method" are just fine with me.
But thanks for pointing out to move the sending of registration Emails out of the Observer into the controller. That's indeed a good point.
Other than that with 2.3 Mailer we can already compose multipart message with views, I fail to see the real difference on the surface. Maybe a lot has changed under the hood.

I tried in my machine and I had to change the user_name for smtp_settings in the initializer to include the domain name, e.g. from "railscasts" to "railscasts@railscasts.com", in order for an e-mail to be sent from my GoogleApp e-mail account.

I don't know if this problem happened to anybody. But I thought I just post the finding here.

I like getting rid of the magic methods, but supplying a hash for subject, from, etc. seems like quite a step backwards for an API, especially considering the changes to AR query API (hash keys became methods).

Nice screencast as usual. I would suggest using a config.action_mailer.smtp_settings statement in config/environments/*.rb instead of old the ActionMailer::Base.smtp_settings. Makes managing different ActionMailer configs for different environments easier.

In case anyone else is having problems getting this to work with gmail apps, there is a little error in Ryan's demo code. In mail_setup.rb, user_name must be fully qualified, as in user@domain.tld, not just user. In the example, Ryan has
:user_name => "railscasts"
...where it should be...
:user_name => "railscasts@railscasts.com".

Hi!... I'm using ubuntu. After trying this casts. When i run the server, this is the output:
rails s
=> Booting WEBrick
=> Rails 3.0.0.rc application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
Exiting
/home/israel/Desktop/projects/mailit/config/initializers/setup_mail.rb:12: uninitialized constant DevelopmentMailInterceptor (NameError)
from /usr/lib/ruby/gems/1.8/gems/railties-3.0.0.rc/lib/rails/engine.rb:201
from /usr/lib/ruby/gems/1.8/gems/railties-3.0.0.rc/lib/rails/engine.rb:200:in `each'
from /usr/lib/ruby/gems/1.8/gems/railties-3.0.0.rc/lib/rails/engine.rb:200
from /usr/lib/ruby/gems/1.8/gems/railties-3.0.0.rc/lib/rails/initializable.rb:25:in `instance_exec'
from /usr/lib/ruby/gems/1.8/gems/railties-3.0.0.rc/lib/rails/initializable.rb:25:in `run'
from /usr/lib/ruby/gems/1.8/gems/railties-3.0.0.rc/lib/rails/initializable.rb:50:in `run_initializers'
from /usr/lib/ruby/gems/1.8/gems/railties-3.0.0.rc/lib/rails/initializable.rb:49:in `each'
from /usr/lib/ruby/gems/1.8/gems/railties-3.0.0.rc/lib/rails/initializable.rb:49:in `run_initializers'
from /usr/lib/ruby/gems/1.8/gems/railties-3.0.0.rc/lib/rails/application.rb:134:in `initialize!'
from /usr/lib/ruby/gems/1.8/gems/railties-3.0.0.rc/lib/rails/application.rb:77:in `send'
from /usr/lib/ruby/gems/1.8/gems/railties-3.0.0.rc/lib/rails/application.rb:77:in `method_missing'
from /home/israel/Desktop/projects/mailit/config/environment.rb:5
from /home/israel/Desktop/projects/mailit/config.ru:5:in `require'
from /home/israel/Desktop/projects/mailit/config.ru:5
from /usr/lib/ruby/gems/1.8/gems/rack-1.2.1/lib/rack/builder.rb:46:in `instance_eval'
from /usr/lib/ruby/gems/1.8/gems/rack-1.2.1/lib/rack/builder.rb:46:in `initialize'
from /home/israel/Desktop/projects/mailit/config.ru:1:in `new'
from /home/israel/Desktop/projects/mailit/config.ru:1

I realize this is 2 years (over) ago, but I thought I'd say I have the same problem. I found there was no .gitignore file so I created it with the README details, with no luck in an app I was working with called launchpage-rails. Seems to be a lack of config for the app.

Just an update - the issue appeared to be that the SMTP was not set up correctly. To rectify: you'll need to ensure your gem mail is set in your Gemfile. Next, create a setup_mail.rb file in config/initializers.

In case anyone else is having problems getting this to work with gmail apps, there is a little error in Ryan's demo code. In mail_setup.rb, user_name must be fully qualified, as in user@domain.tld, not just user. In the example, Ryan has
:user_name => "railscasts"
...where it should be...
:user_name => "railscasts@railscasts.com".

Hello, I'm using an interceptor to the User when registering on my site it receives a confirmation e-mail and I also know that a User has been registered .. S'p that only I am getting the mail, the User does not receive ...

I went through this tutorial on a new app with Rails 3.1.1 and it worked perfectly. However, I am now trying to use this on an existing app using Rails 3.0.9 with ActionMailer and DEVISE, and it does not work. I am pretty confident DEVISE uses ActionMailer based on the settings, but whenever I send an email to another use, they get the email and not me.

Thanks for all of the awesome tutorials Ryan!!! I'm a total Rails/coding newbie and I managed to build a directory of printers for my IT dept with your help :). Now I followed this tutorial to try and get emails sent via a Gmail account to a list address (newprinter@domain.org) whenever a new printer is added to the directory. However, I'm stumped as to how to get this working with my rails app and I hope you or someone else can help. Please be gentle with me :). My app is a little different from your example code as I don't require a user registration, it's just a simple directory listing printers (make, model, IP address, IP address, etc.), and people can add/edit/delete printers from the "directory". I am including code from my app which I think is relevant below, although I could be wrong :). There's probably something horribly obvious to you or others which I am not seeing or able to figure out. I'd appreciate any help in advice on getting this working. Or if I should be going a different route to send the emails, please let me know.