2015-05-18 4 views
0

У меня есть Heroku счета и настроить приложение на HerokuКак отправить почту в рубин

Сайт работает функциональность хорошо, но только почта не работает у меня есть сделать следующий код.

class ContactMailer < ActionMailer::Base 
    default from: "[email protected]" 

    def sample_email() 

    email = '[email protected]' 
    recipient = '[email protected]' 
    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

вы можете общаться по Google и получать много ответов .... просто настройте smtp, как вам нужно, чтобы отправить сообщение электронной почты, а остальная часть материала обрабатывается рельсами – Milind

ответ

0

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

в приложении/отправителей/user_mailer.rb

class UserMailer < ActionMailer::Mailer 
    default from: "[email protected]" 

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> 

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

в конфигурации/Инициализаторы/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..for, но использовать MailChimp/мандрил для про

in config/email.yml 

    development: 
     :address: smtp.gmail.com 
     :port: 587 
     :authentication: plain 
     :user_name: [email protected] 
     :password: password 
     :enable_starttls_auto: true 
    production: 
     :address: smtp.gmail.com 
     :port: 587 
     :authentication: plain 
     :user_name: [email protected] 
     :password: password 
     :enable_starttls_auto: true 

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

UserMailer.welcome(current_user).deliver 

HOPE IT HELPS .... :)