Ruby on rails 如何向所有Desive用户发送邮件?
我的rails应用程序上有100个Desive用户,我想给他们发送电子邮件。我有SMTP的详细信息,我正试图遵循这个例子 我的问题是我无法理解如何使它工作 我创造了Ruby on rails 如何向所有Desive用户发送邮件?,ruby-on-rails,ruby-on-rails-3,devise,Ruby On Rails,Ruby On Rails 3,Devise,我的rails应用程序上有100个Desive用户,我想给他们发送电子邮件。我有SMTP的详细信息,我正试图遵循这个例子 我的问题是我无法理解如何使它工作 我创造了 rails g mailer newsletter single_email 但我不知道如何从那里得到它,任何帮助都将受到高度赞赏 编辑-这是我到目前为止得到的,对吗 # app/mailers/user_mailer.rb class UserMailer < ActionMailer::Base def newsl
rails g mailer newsletter single_email
但我不知道如何从那里得到它,任何帮助都将受到高度赞赏
编辑-这是我到目前为止得到的,对吗
# app/mailers/user_mailer.rb
class UserMailer < ActionMailer::Base
def newsletter(user)
mail( to: user.email, subject: "Your subject")
end
end
# /lib/tasks/newsletter.rake
task :send_newsletter => :environment do
User.all.each do |user|
UserMailer.newsletter(user).deliver
end
end
#app/mailers/user_mailer.rb
类UserMailer:环境执行
User.all.each do | User|
UserMailer.newsletter(user.deliver)
结束
结束
这取决于您希望在何时何地发送此电子邮件
def single_email(users_email)
mail( to: users_email, subject: "Your subject")
end
现在,您可以从控制器或模型调用它。还要为电子邮件创建一个html
NewsletterMailer.single_email(User.all.map(&:email).join(';')).deliver
这取决于您何时何地发送此电子邮件
def single_email(users_email)
mail( to: users_email, subject: "Your subject")
end
现在,您可以从控制器或模型调用它。还要为电子邮件创建一个html
NewsletterMailer.single_email(User.all.map(&:email).join(';')).deliver
这取决于您何时何地发送此电子邮件
def single_email(users_email)
mail( to: users_email, subject: "Your subject")
end
现在,您可以从控制器或模型调用它。还要为电子邮件创建一个html
NewsletterMailer.single_email(User.all.map(&:email).join(';')).deliver
这取决于您何时何地发送此电子邮件
def single_email(users_email)
mail( to: users_email, subject: "Your subject")
end
现在,您可以从控制器或模型调用它。还要为电子邮件创建一个html
NewsletterMailer.single_email(User.all.map(&:email).join(';')).deliver
您可以为此创建一个rake任务:
# /lib/tasks/newsletter.rake
task :send_newsletter => :environment do
User.find_each do |user|
UserMailer.newsletter(user).deliver
end
end
这将迭代所有用户
,并从命令行运行rake send\u newsletter
时使用生成器创建的newsletter中调用single\u email
基本邮件程序如下所示:
# /app/mailers/user_mailer.rb
class UserMailer < ActionMailer::Base
default from: 'newsletter@example.com'
def newsletter(user)
@user = user
mail(to: @user.email, subject: 'My newsletter')
end
end
# app/views/user_mailer/newsletter.html.erb
<!DOCTYPE html>
<html>
<head>
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type' />
</head>
<body>
<h1>Hello <%= @user.name %></h1>
<p>more text...</p>
</body>
</html>
本例假设您的用户
模型有一个名称
-这只是为了向您显示您可以在邮件视图中访问@User
,因为您之前在def新闻稿(User)
中设置了@User
。您可以为此创建一个rake任务:
# /lib/tasks/newsletter.rake
task :send_newsletter => :environment do
User.find_each do |user|
UserMailer.newsletter(user).deliver
end
end
这将迭代所有用户
,并从命令行运行rake send\u newsletter
时使用生成器创建的newsletter中调用single\u email
基本邮件程序如下所示:
# /app/mailers/user_mailer.rb
class UserMailer < ActionMailer::Base
default from: 'newsletter@example.com'
def newsletter(user)
@user = user
mail(to: @user.email, subject: 'My newsletter')
end
end
# app/views/user_mailer/newsletter.html.erb
<!DOCTYPE html>
<html>
<head>
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type' />
</head>
<body>
<h1>Hello <%= @user.name %></h1>
<p>more text...</p>
</body>
</html>
本例假设您的用户
模型有一个名称
-这只是为了向您显示您可以在邮件视图中访问@User
,因为您之前在def新闻稿(User)
中设置了@User
。您可以为此创建一个rake任务:
# /lib/tasks/newsletter.rake
task :send_newsletter => :environment do
User.find_each do |user|
UserMailer.newsletter(user).deliver
end
end
这将迭代所有用户
,并从命令行运行rake send\u newsletter
时使用生成器创建的newsletter中调用single\u email
基本邮件程序如下所示:
# /app/mailers/user_mailer.rb
class UserMailer < ActionMailer::Base
default from: 'newsletter@example.com'
def newsletter(user)
@user = user
mail(to: @user.email, subject: 'My newsletter')
end
end
# app/views/user_mailer/newsletter.html.erb
<!DOCTYPE html>
<html>
<head>
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type' />
</head>
<body>
<h1>Hello <%= @user.name %></h1>
<p>more text...</p>
</body>
</html>
本例假设您的用户
模型有一个名称
-这只是为了向您显示您可以在邮件视图中访问@User
,因为您之前在def新闻稿(User)
中设置了@User
。您可以为此创建一个rake任务:
# /lib/tasks/newsletter.rake
task :send_newsletter => :environment do
User.find_each do |user|
UserMailer.newsletter(user).deliver
end
end
这将迭代所有用户
,并从命令行运行rake send\u newsletter
时使用生成器创建的newsletter中调用single\u email
基本邮件程序如下所示:
# /app/mailers/user_mailer.rb
class UserMailer < ActionMailer::Base
default from: 'newsletter@example.com'
def newsletter(user)
@user = user
mail(to: @user.email, subject: 'My newsletter')
end
end
# app/views/user_mailer/newsletter.html.erb
<!DOCTYPE html>
<html>
<head>
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type' />
</head>
<body>
<h1>Hello <%= @user.name %></h1>
<p>more text...</p>
</body>
</html>
本例假设您的用户
型号有一个名称
-这只是为了显示您可以在邮件视图中访问@User
,因为您在def新闻稿(用户)中设置了@User
之前。我想立即发送电子邮件,因此不需要安排时间,但我不确定如何触发该单一电子邮件操作?你能更详细地说明这一点吗?谢谢你可以把这句话放在你的邮箱里。一封电子邮件(User.all.map(&:email)。加入(“;”)。在你的管理员的任何行动中发送。把它放在根控制器上。您也可以将其放入初始值设定项中,这样当您重新启动服务器时,它将触发该操作。谢谢,我已将我有疑问的当前代码放入其中,是否正确?这将分别向每个用户发送邮件。因此,如果100个用户,它将发送100封邮件,这将花费很长时间。如果您必须在邮件中发送一些动态内容,例如用户名,那么我不确定您是否需要使用sendgrid,或者如果您的内容对于所有用户都是相同的,那么只需单独发送所有用户的电子邮件;在一个单一的时间里,嗨,这个解决方案比Janfeh上面建议的好吗?我仍然不确定如何从控制器或模型调用此方法?我想立即发送电子邮件,因此不需要安排时间,但我不确定如何触发该单个电子邮件操作?你能更详细地说明这一点吗?谢谢你可以把这句话放在你的邮箱里。一封电子邮件(User.all.map(&:email)。加入(“;”)。在你的管理员的任何行动中发送。把它放在根控制器上。您也可以将其放入初始值设定项中,这样当您重新启动服务器时,它将触发该操作。谢谢,我已将我有疑问的当前代码放入其中,是否正确?这将分别向每个用户发送邮件。因此,如果100个用户,它将发送100封邮件,这将花费很长时间。如果您必须在邮件中发送一些动态内容,例如用户名,那么我不确定您是否需要使用sendgrid,或者如果您的内容对于所有用户都是相同的,那么只需单独发送所有用户的电子邮件;在一个单一的时间里,嗨,这个解决方案比Janfeh上面建议的好吗?我仍然不确定如何从控制器或模型调用此方法?我想立即发送电子邮件,因此不需要安排时间,但我不确定如何触发该单个电子邮件操作?你能更详细地说明这一点吗?谢谢你可以把这句话放在你的邮箱里。一封电子邮件(User.all.map(&:email)。加入(“;”)。在你的管理员的任何行动中发送。把它放在根上