我正在创建一个应用程序,用户每分钟都会收到一封邮件,但问题是它没有收到任何邮件。我已经安装了随时随地的gem并运行了bundle install命令。之后我运行了。生成并在下面给出的命令和schedule.rb文件是文件。
UsersController
class UsersController < ApplicationController
# GET /users
# GET /users.json
def index
@users = User.all
respond_to do |format|
format.html # index.html.erb
format.json { render json: @users }
end
end
# GET /users/1
# GET /users/1.json
def show
@user = User.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @user }
end
end
# GET /users/new
# GET /users/new.json
def new
@user = User.new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @user }
end
end
# GET /users/1/edit
def edit
@user = User.find(params[:id])
end
# POST /users
# POST /users.json
def create
@user = User.new(params[:user])
respond_to do |format|
if @user.save
format.html { redirect_to(@user, :notice => 'User was successfully created.') }
format.json { render :json => @user, :status => :created, :location => @user }
else
format.html { render :action => "new" }
format.json { render :json => @user.errors, :status => :unprocessable_entity }
end
end
end
# PUT /users/1
# PUT /users/1.json
def update
@user = User.find(params[:id])
respond_to do |format|
format.html { redirect_to @user, notice: 'User was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @user.errors, status: :unprocessable_entity }
end
end
end
# DELETE /users/1
# DELETE /users/1.json
def destroy
@user = User.find(params[:id])
respond_to do |format|
if @user.destroy
# Tell the UserMailer to send a welcome Email after save
format.html { redirect_to(@user, :notice => 'User was successfully created.') }
format.json { render :json => @user, :status => :created, :location => @user }
else
format.html { render :action => "new" }
format.json { render :json => @user.errors, :status => :unprocessable_entity }
end
end
end
end
Schedule.rb
every 1.minute do
runner "User.send_email_to_user"
end
这是Model user.rb
class User < ActiveRecord::Base
attr_accessible :email, :login, :name, :Notification
def self.send_email_to_user
UserMailer.welcome_email(@user).deliver
end
end
这是User_mailer.rb
class UserMailer < ActionMailer::Base
default from: "anasjmh@gmail.com"
def welcome_email(user)
@user = user
@url = "http://gmail.com/login"
mail(:to => user.email, :subject => "Welcome to My Awesome Site")
end
end
谁能告诉我问题出在哪里????? 任何帮助将不胜感激......
提前致谢。
答案 0 :(得分:0)
UserMailer本身有用吗?我有一些想法,你需要在mail方法之后调用deliver方法,mail方法只准备消息:
mail(:to => user.email, :subject => "Welcome to My Awesome Site").deliver
您是否正确配置了action_mailer?您可以将其配置为显示错误,例如在development.rb中:
config.action_mailer.default_url_options = { :host => 'yourdomain.com' }
config.action_mailer.raise_delivery_errors = true
config.action_mailer.perform_deliveries = true