2015-11-28 2 views
0

Я пытаюсь отправить письмо с уведомлением по электронной почте с помощью Action mailer в rails 4, но он не работает должным образом. После решения многих ошибок я могу отправить почту и никаких сообщений об ошибках в консоли, но почта не получена. Это всегда работало для меня раньше, но я не знаю, как это не происходит сейчас. Вот мой вывод в консоли.Настройки почтовой программы действия, не работающие в рельсах 4

AdminMailer#subscription_added: processed outbound mail in 202.7ms 

Sent mail to [email protected] (9.8ms) 
Date: Sat, 28 Nov 2015 21:25:52 +0530 
To: [email protected] 
Message-ID: <[email protected]> 
Subject: Subscription addded 
Mime-Version: 1.0 
Content-Type: text/html; 
charset=UTF-8 
Content-Transfer-Encoding: 7bit 

<!--XRAY START 8 /home/yogesh/Desktop/new/munam/app/views/layouts/mailer.html.haml--> 
<hmtl> 
    <body> 
    <!--XRAY START 7 /home/yogesh/Desktop/new/munam/app/views/admin_mailer/subscription_added.html.haml--> 
name of receiver 
Email [email protected] 

<!--XRAY END 7--> 
</body> 
</hmtl> 

<!--XRAY END 8--> 
Completed 302 Found in 320ms (ActiveRecord: 70.3ms) 

Вот мой код для него

В моей development.rb

Rails.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 = false 

# 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 

# Adds additional error checking when serving assets at runtime. 
# Checks for improperly declared sprockets dependencies. 
# Raises helpful error messages. 
config.assets.raise_runtime_errors = true 

# Raises error for missing translations 
# config.action_view.raise_on_missing_translations = true 
config.action_mailer.default_url_options = { :host => "localhost:3000" } 

# Automatically inject JavaScript needed for LiveReload 
# config.middleware.insert_after(ActionDispatch::Static, Rack::LiveReload) 

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

Мой код, который вызывает почте

AdminMailer.subscription_added(@subscription).deliver_now 

Мой Администратор почтовик

class AdminMailer < ApplicationMailer 
def subscription_added(subscription) 
    @subscription = subscription 
    begin 
    mail(:to => "[email protected]", :subject => "Subscription addded") 
    rescue Exception => e 
    end 
end 
end 

Я буду очень благодарен, если кто-то скажет мне, где я ошибаюсь или что еще нужно делать. Заранее большое спасибо.

+0

Каков ваш код, который вызывает это электронное письмо? – Rubyrider

+0

@Rubyrider Обновлено вопрос – techdreams

+0

вы ожидаете получить электронную почту? это действительно отправка писем по этому адресу [email protected]? »Не могли бы вы попробовать с реальным адресом электронной почты, если вы еще не проверили? – Rubyrider

ответ

1

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

config.action_mailer.raise_delivery_errors = false

Изменить его true, перезагрузить сервер, и вы получите сообщение об ошибке, если вы попробуйте отправить почту, и она не удалась.

В разработке, я рекомендую использовать реальный живой почтовый сервер, хотя - я бы рекомендовал использовать что-то вроде Mailcatcher (http://mailcatcher.me/)

1

Попытки поднять ошибки во время выполнения, используя следующий код в процессе разработки. rb-файл.

config.action_mailer.perform_deliveries = true 
config.action_mailer.raise_delivery_errors = true 

 Смежные вопросы

  • Нет связанных вопросов^_^