create email sending

parent d84887e5
Pipeline #960 failed with stages
in 0 seconds
.label {
font-size: 32px;
padding: 20px;
margin: 30px;
}
.email-text {
font-size: 24px;
}
.confirm-email-btn {
padding: 20px;
margin: 30px;
}
.confirm {
height: 150px;
width: 300px;
}
.text-confirm {
font-size: 26px;
}
...@@ -17,6 +17,23 @@ class UsersController < ApplicationController ...@@ -17,6 +17,23 @@ class UsersController < ApplicationController
end end
end end
def new
@email = User.new
end
def create
@email = User.new(email: params[:user][:email])
if @email.save
UserMailer.register_email(params[:user][:email]).deliver_later
redirect_to mail_register_path
else
redirect_to register_begin_path
end
end
def mail_register
end
private private
def sign_in_validation def sign_in_validation
......
class ApplicationMailer < ActionMailer::Base class ApplicationMailer < ActionMailer::Base
default from: 'from@example.com' default from: 'phuoc2811006@gmail.com'
layout 'mailer' layout 'mailer'
end end
class UserMailer < ActionMailer::Base
def register_email(email)
@email = email
mail(to: @email, subject: 'Welcome To VeNJOB! Confirm Your Email')
end
end
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
<li><%= link_to "Log Out", logout_path , class: "nav-item nav-link", method: "delete" %></li> <li><%= link_to "Log Out", logout_path , class: "nav-item nav-link", method: "delete" %></li>
<% else %> <% else %>
<li><%= link_to "Log In", login_path , class: "nav-item nav-link" %></li> <li><%= link_to "Log In", login_path , class: "nav-item nav-link" %></li>
<li><%= link_to "Register", '#', class: "nav-item nav-link" %></li> <li><%= link_to "Register", register_path, class: "nav-item nav-link" %></li>
<% end %> <% end %>
<li><%= link_to "Favorite", '#', class: "nav-item nav-link" %></li> <li><%= link_to "Favorite", '#', class: "nav-item nav-link" %></li>
<li><%= link_to "History", '#', class: "nav-item nav-link" %></li> <li><%= link_to "History", '#', class: "nav-item nav-link" %></li>
......
<html>
<head>
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type' />
</head>
<body>
<h1>Welcome <%= @email %></h1>
<p>You're on your way!</p>
<p>Let's confirm your email address.</p>
<p>By clicking on the following link, you are confirming your email address and agreeing to VeNJOB's Terms of Service</p>.
</body>
</html>
<div class="container">
<div class="text-center label">
<strong>Register</strong>
</div>
<div class="row">
<div class="text-center waiting-text">
Thank you for register our service, an confirmation email with registration link<br>
has been sent to your email. Please check your email within 24 hours.<br>
Please note that the registration link is only valid for 24 hours.<br>
Over that period, you will have to register your email again.
</div>
</div>
</div>
<div class="container">
<div class="text-center label">
<strong>Register</strong>
</div>
<div class="form-register">
<%= form_for(@email) do |f| %>
<div class="text-center email-input">
<strong>Email</strong>
<%= f.text_field :email %>
</div>
<div class="text-center confirm-email-btn">
<%= f.submit 'Confirm your email', class: 'btn btn-outline-danger confirm font-weight-bold' %>
</div>
<% end %>
</div>
</div>
...@@ -29,9 +29,24 @@ Rails.application.configure do ...@@ -29,9 +29,24 @@ Rails.application.configure do
# Store uploaded files on the local file system (see config/storage.yml for options) # Store uploaded files on the local file system (see config/storage.yml for options)
config.active_storage.service = :local config.active_storage.service = :local
# Don't care if the mailer can't send. # Don't care if the mailer can't send.
config.action_mailer.raise_delivery_errors = false
# config.active_job.queue_adapter = :async
# config.action_mailer.default_options = { from: 'support@venjob.com' }
config.action_mailer.default_options = { from: 'phuoc2811006@gmail.com' }
config.action_mailer.default_url_options = { host: "localhost:3000" }
config.action_mailer.raise_delivery_errors = true
config.action_mailer.perform_deliveries = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: "smtp.gmail.com",
port: 587,
domain: "localhost:3000",
user_name: "phuoc2811006@gmail.com",
password: "Phuoc123",
authentication: "plain",
enable_starttls_auto: true
}
config.action_mailer.perform_caching = false config.action_mailer.perform_caching = false
......
...@@ -8,6 +8,9 @@ Rails.application.routes.draw do ...@@ -8,6 +8,9 @@ Rails.application.routes.draw do
get '/login', to: 'sessions#new', as: :login get '/login', to: 'sessions#new', as: :login
delete '/logout', to: 'sessions#destroy', as: :logout delete '/logout', to: 'sessions#destroy', as: :logout
get '/register/1', to: 'users#new', as: :register
get '/register/2', to: 'users#mail_register', as: :mail_register
resources :jobs resources :jobs
get 'detail/:id', to: 'jobs#show', as: :job_detail get 'detail/:id', to: 'jobs#show', as: :job_detail
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment