У меня есть учетная запись heroku и я установил приложение на heroku

Сайт работает нормально, но не работает только почтовая служба. У меня есть следующий код.

class ContactMailer < ActionMailer::Base
  default from: "from@example.com"

  def sample_email()

    email = 'to@gmail.com'
    recipient = 'rec@gmail.com'
    subject = 'This is tesing '
    message = 'This is dummy mail'

    Emailer.deliver_contact(recipient, subject, message)
    return if request.xhr?
    render :text => 'Message sent successfully'

  end
end
0
Mitul 18 Май 2015 в 20:23
Вы можете погуглить и получить много ответов .... просто настройте smtp, так как вам нужно ОТПРАВИТЬ электронную почту, а все остальное обрабатывается по рельсам
 – 
Milind
18 Май 2015 в 20:30

1 ответ

Лучший ответ

настроить почтовую программу для отправки электронных писем

В app / mailers / user_mailer.rb

class UserMailer < ActionMailer::Mailer
  default from: "no-reply@myapp.com"

def welcome(user_email)
   @user=User.find_by_email user_email
   Rails.logger.info "==========sending welcome email to ==> #{@user.email}"
   mail(:to => @user.email, :subject => "Hi #{@user.username},Welcome to #{configatron.app_name}")
end
 end

настроить просмотр файла для отправки по электронной почте

app/views/user_emailer/welcome.html.erb

<p>Hi <%= @user.username %>,Welcome to myapp.com</p>

настройка конфигурации электронной почты

В config / initializers / email_setup.rb

if Rails.env != 'test'
  email_settings = YAML::load(File.open("#{Rails.root.to_s}/config/email.yml"))
  ActionMailer::Base.smtp_settings = email_settings[Rails.env] unless email_settings[Rails.env].nil?
end

настроить ключи / пароли, используя gmail..для разработки, но использовать mailchimp / mandrill для pro

in config/email.yml

    development:
      :address: smtp.gmail.com
      :port: 587
      :authentication: plain
      :user_name: milind@gmail.com
      :password: password
      :enable_starttls_auto: true
    production:
      :address: smtp.gmail.com
      :port: 587
      :authentication: plain
      :user_name: milind@gmail.com
      :password: password
      :enable_starttls_auto: true

пользовательская почтовая программа для отправки электронной почты

UserMailer.welcome(current_user).deliver

НАДЕЮСЬ, ЭТО ПОМОЖЕТ.... :)

0
Milind 18 Май 2015 в 20:41