2013-12-11 4 views
0

я имею конфигурацию в delopment.rb, которая выглядит как этотНевозможно отправить электронную почту в рубине на рельсах

Wiyo::Application.configure do 
    # Settings specified here will take precedence over those in config/application.rb. 

    # In the development environment your application's code is reloaded on 
    # every request. This slows down response time but is perfect for development 
    # since you don't have to restart the web server when you make code changes. 
    config.cache_classes = false 

    # Do not eager load code on boot. 
    config.eager_load = false 

    # Show full error reports and disable caching. 
    config.consider_all_requests_local  = true 
    config.action_controller.perform_caching = false 

    # Don't care if the mailer can't send. 
    config.action_mailer.raise_delivery_errors = true 

    # Print deprecation notices to the Rails logger. 
    config.active_support.deprecation = :log 

    # Raise an error on page load if there are pending migrations 
    config.active_record.migration_error = :page_load 

    # Debug mode disables concatenation and preprocessing of assets. 
    # This option may cause significant delays in view rendering with a large 
    # number of complex assets. 
    config.assets.debug = true 

    config.action_mailer.perform_deliveries = true 

    #config.action_mailer.delivery_method = :smtp 
    #config.action_mailer.smtp_settings = { :address => "localhost", :port => 1025 } 

    #config.action_mailer.default_url_options = { 
    #:host => "localhost:3000" 
    #} 


    config.action_mailer.delivery_method = :smtp 
    config.action_mailer.smtp_settings = { 
    :address => "smtp.gmail.com", 
    :port => 587, 
    :domain => 'gmail', 
    :user_name => "[email protected]", 
    :password => "********", 
    :authentication => 'plain', 
    :enable_starttls_auto => true 
    } 
end 

В контроллере бронирования Mailer, у меня есть

class BookingMailer < ActionMailer::Base 
    layout 'email' 

    default from: "[email protected]" 

    def test_email 
    mail(to: '[email protected]', subject: "test email from Avash Poudel") 
    end 
end 

Я позвонил test_email от другого контроллер, такой как

def about 
    BookingMailer.test_email.deliver 
    render:"about" 
end 

Я застреваю. Как отправить электронную почту. Как показать сообщение, если электронная почта успешно отправлена?

+1

Какая ошибка возникает у вас? Проверьте журналы. – Zepplock

+0

На веб-сайте нет ошибок, но в папке журнала (development.txt). Ниже приведены данные, а затем сразу после этого у журнала есть все html-коды из моего шаблона электронной почты. – atomaprchya

+0

От: [email protected] To: avashpdl @ yahoo.com Message-ID: <[email protected]> Тема: тестовое письмо от Avash Poudel Mime-Version: 1.0 Content-Type: multipart/mixed; border = "- == _ mimepart_52a7fdf7f1c7e_96c3d9a1d814398"; кодировка = UTF-8 Content-Transfer-Encoding: 7bit ---- == _ mimepart_52a7fdf7f1c7e_96c3d9a1d814398 Content-Type: Текст/html; charset = UTF-8 Content-Transfer-Encoding: 7bit – atomaprchya

ответ

0

Вам не хватает «default_url_options», посмотрите ниже конфигурацию.

Настройка Mailer довольно прямолинейный. Ниже приведены шаги, которые вы должны течь:

Создание Mailer

$ рельсы генерировать Мейлер UserMailer

Отредактируйте Mailer

class UserMailer < ActionMailer::Base 
    default from: '[email protected]' 

    def welcome_email(user) 
    @user = user 
    @url = 'http://example.com/login' 
    mail(to: @user.email, subject: 'Welcome to My Awesome Site') 
    end 
end 

конфигурации окружающей среды

Убедитесь, что вы выполнили настройку согласно ENV.

config.action_mailer.default_url_options = { :host => 'localhost:3000' } 
config.action_mailer.delivery_method = :smtp 
config.action_mailer.perform_deliveries = true 
config.action_mailer.raise_delivery_errors = true 
config.action_mailer.default :charset => "utf-8" 

config.action_mailer.smtp_settings = { 
    :enable_starttls_auto => true, 
    :address => "smtp.gmail.com", 
    :port => 587, 
    :domain => "gmail.com", 
    :authentication => :login, 
    :user_name => '[email protected]', 
    :password => 'xxxxxxxxxx', 
} 
Смежные вопросы