&tag(Rails/メール送信);
外部のsmtpサーバーを使って認証してから送信する例
config.action_mailer.raise_delivery_errors = true
config.action_mailer.default_url_options = { :host => "localhost", :port => 3000 }
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => "my.smtp.com,
:port => 587,
:user_name => "[email protected]",
:password => "smptpass",
:authentication => 'plain',
:enable_starttls_auto => false,
}
ローカルでsmtpサーバーが動いている場合
config.action_mailer.raise_delivery_errors = true
config.action_mailer.default_url_options = { :host => "localhost", :port => 3000 }
config.action_mailer.delivery_method = :smtp
$ bundle exec rails generate mailer UserMailer
create app/mailers/user_mailer.rb
create app/mailers/application_mailer.rb
invoke erb
create app/views/user_mailer
create app/views/layouts/mailer.text.erb
create app/views/layouts/mailer.html.erb
invoke test_unit
create test/mailers/user_mailer_test.rb
create test/mailers/previews/user_mailer_preview.rb
class UserMailer < ActionMailer::Base default from: "[email protected]" def hello @greeting = "Hi" mail to: "[email protected]" end end
テストメッセージです。 <%= @greeting %>
UserMailer.hello.deliver