Отправка писем с использованием ruby ​​на рельсах - PullRequest
0 голосов
/ 28 декабря 2011

В одном из моих заявлений на рельсы я должен отправить электронное письмо.Я только что настроил свое приложение следующим образом.

Я использую Rails v2.0.

environment.rb:

RAILS_GEM_VERSION = '2.0.2' unless defined? RAILS_GEM_VERSION

# Bootstrap the Rails environment, frameworks, and default configuration
require File.join(File.dirname(__FILE__), 'boot')

Rails::Initializer.run do |config|
  config.action_controller.session = {
    :session_key => '_mailtest_session',
    :secret      => 'key_here'
  }
   ActionMailer::Base.delivery_method = :smtp
   ActionMailer::Base.smtp_settings = {
    :address => "smtp.gmail.com",
    :port => 25,
    :domain => "gmail.com",
    :authentication => :login,
    :user_name => "mailid@mailid.com",
    :password => "password"
  }

  ActionMailer::Base.default_content_type = "text/html"
end

models / notifier.rb:

class Notifier < ActionMailer::Base

     def contact(recipient, subject, message, sent_at = Time.now)
      @subject = subject
      @recipients = recipient
      @from = 'from@mail.com'
      @sent_on = sent_at
      @body["title"] = 'Signup Info'
      @body["email"] = 'mail@mail.com'
      @body["message"] = message
      @headers = {}
      return true
   end
end

контроллер / администратор

class AdministratorController < ApplicationController
  def index
    recipient = "tomailid@mail.com"
    subject = "Subject"
    message = "message"
    Notifier.deliver_contact(recipient, subject, message)
  end
end

Когда я пытался вызвать индексный метод, я получаю эту ошибку:

Couldn't find template file for notifier/contact in ["D:/Rails/rails_apps/mailtest/app/views"]

Пожалуйста, помогите ...

1 Ответ

1 голос
/ 28 декабря 2011

Создайте каталог с именем notifier в app/views и поместите туда contact.html.erb.Одно из соглашений Rails заключается в том, что он ожидает, что каталог представления будет назван в честь класса mailer / controller.

...