2016-07-14 1 views
0

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

моих почтовых программ/user_mailer.rb

  class UserMailer < ActionMailer::Base 
    default :from => "[email protected]" 
    def registration_confirmation(user) 
     mail(:to=>user.email, :subject =>"Registered") 
     end 
     end 

users.controller является

def create 
    @user = User.new(user_params) 
     respond_to do |format| 
    if @user.save 
    UserMailer.registration_confirmation(@user).deliver 
     format.html { redirect_to @user, notice: 'User was successfully created.' } 
     format.json { render :show, status: :created, location: @user } 
     else 
    format.html { render :new } 
    format.json { render json: @user.errors, status: :unprocessable_entity } 
    end 
    end 
    end 

Здесь ваш параметр initializer \ setup_mail.rb перейдет к development.rb

config.action_mailer.default_url_options = { host: 'localhost', port: 9292 } 

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

и мой взгляд .. user_registration.text.erb --- это

  Hi sir you successfully Completed signed..........! 

мой есть Сообща ошибка после запуска этого приложения .. SocketError в UsersController # создать getaddrinfo: Запрошенное имя действителен, но данные запрашиваемого типа не найдены.

+0

Проблема заключается в подключении smtp-сервера. приложение не может подключиться к серверу. –

ответ

0

Я не думаю, что адрес, который вы использовали здесь «smtp.thejaingroup.com», является адресом действительного поставщика услуг электронной почты. Если вы пытаетесь использовать свой gmail, это должно быть «smtp.gmail.com».

Это обычная конфигурация gmail.

config.action_mailer.smtp_settings = { 
    :address    => "smtp.gmail.com", 
    :port     => 587, 
    :user_name   => ENV['gmail_username'], 
    :password    => ENV['gmail_password'], 
    :authentication  => "plain", 
:enable_starttls_auto => true 
} 

В этом случае все письма будут доставлены в ваш gmail. , Если вы не хотите, чтобы это произошло, вы можете попробовать камень letter_opener для среды разработки. Для производства env вам может потребоваться использовать почтовый провайдер, такой как mandrill или sendgrid.

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