rails로 모든 사용자에게 메일을 보냅니다.
3687 단어 Rails
개시하다
모든 사용자에게 메일을 보내는 방법입니다.
미리 준비하다
우선 프로그램 설정부터 시작할게요.rails new sample_mail
rails g model user name:string email:string
rails db:migrate
rails g controller mails index send_mail
루즈로.달성get 'mails/index'
get 'mails/send_mail'
그러면 돼요.
gemfile에서gem 'faker'
... 로 삼다
그런데 데이터를 만들어야 돼요.rails c
100.times { User.create(name: Faker::Name.first_name, email: Faker::Internet.email }
이렇게 하면 사용자가 100명이 된다.
우편물을 보내다
먼저rails g mailer SampleMailer
.
그러면 필요한 서류를 만들 수 있어요.
mailers/sample_mailer.rb에 사용자에게 메일을 보내는 처리
sample_mailer.rb
def send_mail(user)
@user = user
mail(subject: '確認メール',to: user.email, from: "[email protected]")
end
def self.send_mail_users
@users = User.all
@users.each do |user|
SampleMailer.send_mail(user).deliver_now
end
end
send_메일 방법은 일반적으로 한 사용자에게 메일을 보내는 것이다SampleMailer.send_mail(user).deliver_now
그리고user에게 메일을 보낼 수 있습니다.
그러니까 셀프.send_mail_users@users=User.거기서부터 순환하기 시작한다.모두에게 메일을 보내고 있습니다.
다음
views/sample_나는 메일에 메일의 내용을 쓸 것이다.
send_mail.html.erb,send_mail.text.만들다
파일 이름은 메일을 보내는 방법의 이름과 같을 수 없습니다.
내용을 적당히 기입하시면 됩니다.
마지막으로 메일에 대한 설정을 config/environment로 설정합니다.rb에 쓰다.
요컨대config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = { address: "127.0.0.1", port: 1025}
미리 쓰다.
그리고 실행하면 메일을 보낼 수 있어요.
views/mails/index.html.erb<%= link_to "送信", mails_send_mail_path %>
... 로 삼다
controllers/mails_controller.달성
def index
end
def send_mail
SampleMailer.send_mail_users
redirect_to mails_index_path
end
이렇게 쓰면 돼요.
index에 방문하여 발송을 누르면 모든 사람에게 메일을 보낼 수 있습니다.
확인
메일을 제대로 보냈는지 확인하고 싶어요.gem install mailcatcher
... 로 삼다
콘솔을 사용하다mailcatcher
그리고 메일로.
그 뒤에
127..0.1: 1080에 방문하면 발송된 메일을 확인할 수 있습니다.
종결어.
Reference
이 문제에 관하여(rails로 모든 사용자에게 메일을 보냅니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sibakenY/items/2bcaa203e556d321a6fe
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
우선 프로그램 설정부터 시작할게요.
rails new sample_mail
rails g model user name:string email:string
rails db:migrate
rails g controller mails index send_mail
루즈로.달성get 'mails/index'
get 'mails/send_mail'
그러면 돼요.gemfile에서
gem 'faker'
... 로 삼다그런데 데이터를 만들어야 돼요.
rails c
100.times { User.create(name: Faker::Name.first_name, email: Faker::Internet.email }
이렇게 하면 사용자가 100명이 된다.우편물을 보내다
먼저rails g mailer SampleMailer
.
그러면 필요한 서류를 만들 수 있어요.
mailers/sample_mailer.rb에 사용자에게 메일을 보내는 처리
sample_mailer.rb
def send_mail(user)
@user = user
mail(subject: '確認メール',to: user.email, from: "[email protected]")
end
def self.send_mail_users
@users = User.all
@users.each do |user|
SampleMailer.send_mail(user).deliver_now
end
end
send_메일 방법은 일반적으로 한 사용자에게 메일을 보내는 것이다SampleMailer.send_mail(user).deliver_now
그리고user에게 메일을 보낼 수 있습니다.
그러니까 셀프.send_mail_users@users=User.거기서부터 순환하기 시작한다.모두에게 메일을 보내고 있습니다.
다음
views/sample_나는 메일에 메일의 내용을 쓸 것이다.
send_mail.html.erb,send_mail.text.만들다
파일 이름은 메일을 보내는 방법의 이름과 같을 수 없습니다.
내용을 적당히 기입하시면 됩니다.
마지막으로 메일에 대한 설정을 config/environment로 설정합니다.rb에 쓰다.
요컨대config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = { address: "127.0.0.1", port: 1025}
미리 쓰다.
그리고 실행하면 메일을 보낼 수 있어요.
views/mails/index.html.erb<%= link_to "送信", mails_send_mail_path %>
... 로 삼다
controllers/mails_controller.달성
def index
end
def send_mail
SampleMailer.send_mail_users
redirect_to mails_index_path
end
이렇게 쓰면 돼요.
index에 방문하여 발송을 누르면 모든 사람에게 메일을 보낼 수 있습니다.
확인
메일을 제대로 보냈는지 확인하고 싶어요.gem install mailcatcher
... 로 삼다
콘솔을 사용하다mailcatcher
그리고 메일로.
그 뒤에
127..0.1: 1080에 방문하면 발송된 메일을 확인할 수 있습니다.
종결어.
Reference
이 문제에 관하여(rails로 모든 사용자에게 메일을 보냅니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sibakenY/items/2bcaa203e556d321a6fe
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
rails g mailer SampleMailer
def send_mail(user)
@user = user
mail(subject: '確認メール',to: user.email, from: "[email protected]")
end
def self.send_mail_users
@users = User.all
@users.each do |user|
SampleMailer.send_mail(user).deliver_now
end
end
SampleMailer.send_mail(user).deliver_now
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = { address: "127.0.0.1", port: 1025}
<%= link_to "送信", mails_send_mail_path %>
def index
end
def send_mail
SampleMailer.send_mail_users
redirect_to mails_index_path
end
메일을 제대로 보냈는지 확인하고 싶어요.
gem install mailcatcher
... 로 삼다콘솔을 사용하다
mailcatcher
그리고 메일로.그 뒤에
127..0.1: 1080에 방문하면 발송된 메일을 확인할 수 있습니다.
종결어.
Reference
이 문제에 관하여(rails로 모든 사용자에게 메일을 보냅니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sibakenY/items/2bcaa203e556d321a6fe텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)